--- /dev/null
+<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="m-1">
+ <data xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring"><?xml version="1.0" encoding="UTF-8"?>
+<module name="ietf-ip"
+ xmlns="urn:ietf:params:xml:ns:yang:yin:1"
+ xmlns:ip="urn:ietf:params:xml:ns:yang:ietf-ip"
+ xmlns:if="urn:ietf:params:xml:ns:yang:ietf-interfaces"
+ xmlns:inet="urn:ietf:params:xml:ns:yang:ietf-inet-types"
+ xmlns:yang="urn:ietf:params:xml:ns:yang:ietf-yang-types">
+ <yang-version value="1"/>
+ <namespace uri="urn:ietf:params:xml:ns:yang:ietf-ip"/>
+ <prefix value="ip"/>
+ <import module="ietf-interfaces">
+ <prefix value="if"/>
+ </import>
+ <import module="ietf-inet-types">
+ <prefix value="inet"/>
+ </import>
+ <import module="ietf-yang-types">
+ <prefix value="yang"/>
+ </import>
+ <organization>
+ <text>IETF NETMOD (NETCONF Data Modeling Language) Working Group</text>
+ </organization>
+ <contact>
+ <text>WG Web: &lt;http://tools.ietf.org/wg/netmod/&gt;
+WG List: &lt;mailto:netmod@ietf.org&gt;
+
+WG Chair: Thomas Nadeau
+ &lt;mailto:tnadeau@lucidvision.com&gt;
+
+WG Chair: Juergen Schoenwaelder
+ &lt;mailto:j.schoenwaelder@jacobs-university.de&gt;
+
+Editor: Martin Bjorklund
+ &lt;mailto:mbj@tail-f.com&gt;</text>
+ </contact>
+ <description>
+ <text>This module contains a collection of YANG definitions for
+configuring IP implementations.
+
+Copyright (c) 2014 IETF Trust and the persons identified as
+authors of the code. All rights reserved.
+
+Redistribution and use in source and binary forms, with or
+without modification, is permitted pursuant to, and subject
+to the license terms contained in, the Simplified BSD License
+set forth in Section 4.c of the IETF Trust's Legal Provisions
+Relating to IETF Documents
+(http://trustee.ietf.org/license-info).
+
+This version of this YANG module is part of RFC 7277; see
+the RFC itself for full legal notices.</text>
+ </description>
+ <revision date="2014-06-16">
+ <description>
+ <text>Initial revision.</text>
+ </description>
+ <reference>
+ <text>RFC 7277: A YANG Data Model for IP Management</text>
+ </reference>
+ </revision>
+ <feature name="ipv4-non-contiguous-netmasks">
+ <description>
+ <text>Indicates support for configuring non-contiguous
+subnet masks.</text>
+ </description>
+ </feature>
+ <feature name="ipv6-privacy-autoconf">
+ <description>
+ <text>Indicates support for Privacy Extensions for Stateless Address
+Autoconfiguration in IPv6.</text>
+ </description>
+ <reference>
+ <text>RFC 4941: Privacy Extensions for Stateless Address
+ Autoconfiguration in IPv6</text>
+ </reference>
+ </feature>
+ <typedef name="ip-address-origin">
+ <type name="enumeration">
+ <enum name="other">
+ <value value="0"/>
+ <description>
+ <text>None of the following.</text>
+ </description>
+ </enum>
+ <enum name="static">
+ <value value="1"/>
+ <description>
+ <text>Indicates that the address has been statically
+configured - for example, using NETCONF or a Command Line
+Interface.</text>
+ </description>
+ </enum>
+ <enum name="dhcp">
+ <value value="2"/>
+ <description>
+ <text>Indicates an address that has been assigned to this
+system by a DHCP server.</text>
+ </description>
+ </enum>
+ <enum name="link-layer">
+ <value value="3"/>
+ <description>
+ <text>Indicates an address created by IPv6 stateless
+autoconfiguration that embeds a link-layer address in its
+interface identifier.</text>
+ </description>
+ </enum>
+ <enum name="random">
+ <value value="4"/>
+ <description>
+ <text>Indicates an address chosen by the system at
+
+random, e.g., an IPv4 address within 169.254/16, an
+RFC 4941 temporary address, or an RFC 7217 semantically
+opaque address.</text>
+ </description>
+ <reference>
+ <text>RFC 4941: Privacy Extensions for Stateless Address
+ Autoconfiguration in IPv6
+RFC 7217: A Method for Generating Semantically Opaque
+ Interface Identifiers with IPv6 Stateless
+ Address Autoconfiguration (SLAAC)</text>
+ </reference>
+ </enum>
+ </type>
+ <description>
+ <text>The origin of an address.</text>
+ </description>
+ </typedef>
+ <typedef name="neighbor-origin">
+ <type name="enumeration">
+ <enum name="other">
+ <value value="0"/>
+ <description>
+ <text>None of the following.</text>
+ </description>
+ </enum>
+ <enum name="static">
+ <value value="1"/>
+ <description>
+ <text>Indicates that the mapping has been statically
+configured - for example, using NETCONF or a Command Line
+Interface.</text>
+ </description>
+ </enum>
+ <enum name="dynamic">
+ <value value="2"/>
+ <description>
+ <text>Indicates that the mapping has been dynamically resolved
+using, e.g., IPv4 ARP or the IPv6 Neighbor Discovery
+protocol.</text>
+ </description>
+ </enum>
+ </type>
+ <description>
+ <text>The origin of a neighbor entry.</text>
+ </description>
+ </typedef>
+ <augment target-node="/if:interfaces/if:interface">
+ <description>
+ <text>Parameters for configuring IP on interfaces.
+
+If an interface is not capable of running IP, the server
+must not allow the client to configure these parameters.</text>
+ </description>
+ <container name="ipv4">
+ <presence value="Enables IPv4 unless the 'enabled' leaf
+(which defaults to 'true') is set to 'false'"/>
+ <description>
+ <text>Parameters for the IPv4 address family.</text>
+ </description>
+ <leaf name="enabled">
+ <type name="boolean"/>
+ <default value="true"/>
+ <description>
+ <text>Controls whether IPv4 is enabled or disabled on this
+interface. When IPv4 is enabled, this interface is
+connected to an IPv4 stack, and the interface can send
+and receive IPv4 packets.</text>
+ </description>
+ </leaf>
+ <leaf name="forwarding">
+ <type name="boolean"/>
+ <default value="false"/>
+ <description>
+ <text>Controls IPv4 packet forwarding of datagrams received by,
+but not addressed to, this interface. IPv4 routers
+forward datagrams. IPv4 hosts do not (except those
+source-routed via the host).</text>
+ </description>
+ </leaf>
+ <leaf name="mtu">
+ <type name="uint16">
+ <range value="68..max"/>
+ </type>
+ <units name="octets"/>
+ <description>
+ <text>The size, in octets, of the largest IPv4 packet that the
+interface will send and receive.
+
+The server may restrict the allowed values for this leaf,
+depending on the interface's type.
+
+If this leaf is not configured, the operationally used MTU
+depends on the interface's type.</text>
+ </description>
+ <reference>
+ <text>RFC 791: Internet Protocol</text>
+ </reference>
+ </leaf>
+ <list name="address">
+ <key value="ip"/>
+ <description>
+ <text>The list of configured IPv4 addresses on the interface.</text>
+ </description>
+ <leaf name="ip">
+ <type name="inet:ipv4-address-no-zone"/>
+ <description>
+ <text>The IPv4 address on the interface.</text>
+ </description>
+ </leaf>
+ <choice name="subnet">
+ <mandatory value="true"/>
+ <description>
+ <text>The subnet can be specified as a prefix-length, or,
+if the server supports non-contiguous netmasks, as
+a netmask.</text>
+ </description>
+ <leaf name="prefix-length">
+ <type name="uint8">
+ <range value="0..32"/>
+ </type>
+ <description>
+ <text>The length of the subnet prefix.</text>
+ </description>
+ </leaf>
+ <leaf name="netmask">
+ <if-feature name="ipv4-non-contiguous-netmasks"/>
+ <type name="yang:dotted-quad"/>
+ <description>
+ <text>The subnet specified as a netmask.</text>
+ </description>
+ </leaf>
+ </choice>
+ </list>
+ <list name="neighbor">
+ <key value="ip"/>
+ <description>
+ <text>A list of mappings from IPv4 addresses to
+link-layer addresses.
+
+Entries in this list are used as static entries in the
+ARP Cache.</text>
+ </description>
+ <reference>
+ <text>RFC 826: An Ethernet Address Resolution Protocol</text>
+ </reference>
+ <leaf name="ip">
+ <type name="inet:ipv4-address-no-zone"/>
+ <description>
+ <text>The IPv4 address of the neighbor node.</text>
+ </description>
+ </leaf>
+ <leaf name="link-layer-address">
+ <type name="yang:phys-address"/>
+ <mandatory value="true"/>
+ <description>
+ <text>The link-layer address of the neighbor node.</text>
+ </description>
+ </leaf>
+ </list>
+ </container>
+ <container name="ipv6">
+ <presence value="Enables IPv6 unless the 'enabled' leaf
+(which defaults to 'true') is set to 'false'"/>
+ <description>
+ <text>Parameters for the IPv6 address family.</text>
+ </description>
+ <leaf name="enabled">
+ <type name="boolean"/>
+ <default value="true"/>
+ <description>
+ <text>Controls whether IPv6 is enabled or disabled on this
+interface. When IPv6 is enabled, this interface is
+connected to an IPv6 stack, and the interface can send
+and receive IPv6 packets.</text>
+ </description>
+ </leaf>
+ <leaf name="forwarding">
+ <type name="boolean"/>
+ <default value="false"/>
+ <description>
+ <text>Controls IPv6 packet forwarding of datagrams received by,
+but not addressed to, this interface. IPv6 routers
+forward datagrams. IPv6 hosts do not (except those
+source-routed via the host).</text>
+ </description>
+ <reference>
+ <text>RFC 4861: Neighbor Discovery for IP version 6 (IPv6)
+ Section 6.2.1, IsRouter</text>
+ </reference>
+ </leaf>
+ <leaf name="mtu">
+ <type name="uint32">
+ <range value="1280..max"/>
+ </type>
+ <units name="octets"/>
+ <description>
+ <text>The size, in octets, of the largest IPv6 packet that the
+interface will send and receive.
+
+The server may restrict the allowed values for this leaf,
+depending on the interface's type.
+
+If this leaf is not configured, the operationally used MTU
+depends on the interface's type.</text>
+ </description>
+ <reference>
+ <text>RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
+ Section 5</text>
+ </reference>
+ </leaf>
+ <list name="address">
+ <key value="ip"/>
+ <description>
+ <text>The list of configured IPv6 addresses on the interface.</text>
+ </description>
+ <leaf name="ip">
+ <type name="inet:ipv6-address-no-zone"/>
+ <description>
+ <text>The IPv6 address on the interface.</text>
+ </description>
+ </leaf>
+ <leaf name="prefix-length">
+ <type name="uint8">
+ <range value="0..128"/>
+ </type>
+ <mandatory value="true"/>
+ <description>
+ <text>The length of the subnet prefix.</text>
+ </description>
+ </leaf>
+ </list>
+ <list name="neighbor">
+ <key value="ip"/>
+ <description>
+ <text>A list of mappings from IPv6 addresses to
+link-layer addresses.
+
+Entries in this list are used as static entries in the
+Neighbor Cache.</text>
+ </description>
+ <reference>
+ <text>RFC 4861: Neighbor Discovery for IP version 6 (IPv6)</text>
+ </reference>
+ <leaf name="ip">
+ <type name="inet:ipv6-address-no-zone"/>
+ <description>
+ <text>The IPv6 address of the neighbor node.</text>
+ </description>
+ </leaf>
+ <leaf name="link-layer-address">
+ <type name="yang:phys-address"/>
+ <mandatory value="true"/>
+ <description>
+ <text>The link-layer address of the neighbor node.</text>
+ </description>
+ </leaf>
+ </list>
+ <leaf name="dup-addr-detect-transmits">
+ <type name="uint32"/>
+ <default value="1"/>
+ <description>
+ <text>The number of consecutive Neighbor Solicitation messages
+sent while performing Duplicate Address Detection on a
+tentative address. A value of zero indicates that
+Duplicate Address Detection is not performed on
+tentative addresses. A value of one indicates a single
+transmission with no follow-up retransmissions.</text>
+ </description>
+ <reference>
+ <text>RFC 4862: IPv6 Stateless Address Autoconfiguration</text>
+ </reference>
+ </leaf>
+ <container name="autoconf">
+ <description>
+ <text>Parameters to control the autoconfiguration of IPv6
+addresses, as described in RFC 4862.</text>
+ </description>
+ <reference>
+ <text>RFC 4862: IPv6 Stateless Address Autoconfiguration</text>
+ </reference>
+ <leaf name="create-global-addresses">
+ <type name="boolean"/>
+ <default value="true"/>
+ <description>
+ <text>If enabled, the host creates global addresses as
+described in RFC 4862.</text>
+ </description>
+ <reference>
+ <text>RFC 4862: IPv6 Stateless Address Autoconfiguration
+ Section 5.5</text>
+ </reference>
+ </leaf>
+ <leaf name="create-temporary-addresses">
+ <if-feature name="ipv6-privacy-autoconf"/>
+ <type name="boolean"/>
+ <default value="false"/>
+ <description>
+ <text>If enabled, the host creates temporary addresses as
+described in RFC 4941.</text>
+ </description>
+ <reference>
+ <text>RFC 4941: Privacy Extensions for Stateless Address
+ Autoconfiguration in IPv6</text>
+ </reference>
+ </leaf>
+ <leaf name="temporary-valid-lifetime">
+ <if-feature name="ipv6-privacy-autoconf"/>
+ <type name="uint32"/>
+ <units name="seconds"/>
+ <default value="604800"/>
+ <description>
+ <text>The time period during which the temporary address
+is valid.</text>
+ </description>
+ <reference>
+ <text>RFC 4941: Privacy Extensions for Stateless Address
+ Autoconfiguration in IPv6
+ - TEMP_VALID_LIFETIME</text>
+ </reference>
+ </leaf>
+ <leaf name="temporary-preferred-lifetime">
+ <if-feature name="ipv6-privacy-autoconf"/>
+ <type name="uint32"/>
+ <units name="seconds"/>
+ <default value="86400"/>
+ <description>
+ <text>The time period during which the temporary address is
+preferred.</text>
+ </description>
+ <reference>
+ <text>RFC 4941: Privacy Extensions for Stateless Address
+ Autoconfiguration in IPv6
+ - TEMP_PREFERRED_LIFETIME</text>
+ </reference>
+ </leaf>
+ </container>
+ </container>
+ </augment>
+ <augment target-node="/if:interfaces-state/if:interface">
+ <description>
+ <text>Data nodes for the operational state of IP on interfaces.</text>
+ </description>
+ <container name="ipv4">
+ <presence value="Present if IPv4 is enabled on this interface"/>
+ <config value="false"/>
+ <description>
+ <text>Interface-specific parameters for the IPv4 address family.</text>
+ </description>
+ <leaf name="forwarding">
+ <type name="boolean"/>
+ <description>
+ <text>Indicates whether IPv4 packet forwarding is enabled or
+disabled on this interface.</text>
+ </description>
+ </leaf>
+ <leaf name="mtu">
+ <type name="uint16">
+ <range value="68..max"/>
+ </type>
+ <units name="octets"/>
+ <description>
+ <text>The size, in octets, of the largest IPv4 packet that the
+interface will send and receive.</text>
+ </description>
+ <reference>
+ <text>RFC 791: Internet Protocol</text>
+ </reference>
+ </leaf>
+ <list name="address">
+ <key value="ip"/>
+ <description>
+ <text>The list of IPv4 addresses on the interface.</text>
+ </description>
+ <leaf name="ip">
+ <type name="inet:ipv4-address-no-zone"/>
+ <description>
+ <text>The IPv4 address on the interface.</text>
+ </description>
+ </leaf>
+ <choice name="subnet">
+ <description>
+ <text>The subnet can be specified as a prefix-length, or,
+if the server supports non-contiguous netmasks, as
+a netmask.</text>
+ </description>
+ <leaf name="prefix-length">
+ <type name="uint8">
+ <range value="0..32"/>
+ </type>
+ <description>
+ <text>The length of the subnet prefix.</text>
+ </description>
+ </leaf>
+ <leaf name="netmask">
+ <if-feature name="ipv4-non-contiguous-netmasks"/>
+ <type name="yang:dotted-quad"/>
+ <description>
+ <text>The subnet specified as a netmask.</text>
+ </description>
+ </leaf>
+ </choice>
+ <leaf name="origin">
+ <type name="ip-address-origin"/>
+ <description>
+ <text>The origin of this address.</text>
+ </description>
+ </leaf>
+ </list>
+ <list name="neighbor">
+ <key value="ip"/>
+ <description>
+ <text>A list of mappings from IPv4 addresses to
+link-layer addresses.
+
+This list represents the ARP Cache.</text>
+ </description>
+ <reference>
+ <text>RFC 826: An Ethernet Address Resolution Protocol</text>
+ </reference>
+ <leaf name="ip">
+ <type name="inet:ipv4-address-no-zone"/>
+ <description>
+ <text>The IPv4 address of the neighbor node.</text>
+ </description>
+ </leaf>
+ <leaf name="link-layer-address">
+ <type name="yang:phys-address"/>
+ <description>
+ <text>The link-layer address of the neighbor node.</text>
+ </description>
+ </leaf>
+ <leaf name="origin">
+ <type name="neighbor-origin"/>
+ <description>
+ <text>The origin of this neighbor entry.</text>
+ </description>
+ </leaf>
+ </list>
+ </container>
+ <container name="ipv6">
+ <presence value="Present if IPv6 is enabled on this interface"/>
+ <config value="false"/>
+ <description>
+ <text>Parameters for the IPv6 address family.</text>
+ </description>
+ <leaf name="forwarding">
+ <type name="boolean"/>
+ <default value="false"/>
+ <description>
+ <text>Indicates whether IPv6 packet forwarding is enabled or
+disabled on this interface.</text>
+ </description>
+ <reference>
+ <text>RFC 4861: Neighbor Discovery for IP version 6 (IPv6)
+ Section 6.2.1, IsRouter</text>
+ </reference>
+ </leaf>
+ <leaf name="mtu">
+ <type name="uint32">
+ <range value="1280..max"/>
+ </type>
+ <units name="octets"/>
+ <description>
+ <text>The size, in octets, of the largest IPv6 packet that the
+interface will send and receive.</text>
+ </description>
+ <reference>
+ <text>RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
+ Section 5</text>
+ </reference>
+ </leaf>
+ <list name="address">
+ <key value="ip"/>
+ <description>
+ <text>The list of IPv6 addresses on the interface.</text>
+ </description>
+ <leaf name="ip">
+ <type name="inet:ipv6-address-no-zone"/>
+ <description>
+ <text>The IPv6 address on the interface.</text>
+ </description>
+ </leaf>
+ <leaf name="prefix-length">
+ <type name="uint8">
+ <range value="0..128"/>
+ </type>
+ <mandatory value="true"/>
+ <description>
+ <text>The length of the subnet prefix.</text>
+ </description>
+ </leaf>
+ <leaf name="origin">
+ <type name="ip-address-origin"/>
+ <description>
+ <text>The origin of this address.</text>
+ </description>
+ </leaf>
+ <leaf name="status">
+ <type name="enumeration">
+ <enum name="preferred">
+ <value value="0"/>
+ <description>
+ <text>This is a valid address that can appear as the
+destination or source address of a packet.</text>
+ </description>
+ </enum>
+ <enum name="deprecated">
+ <value value="1"/>
+ <description>
+ <text>This is a valid but deprecated address that should
+no longer be used as a source address in new
+communications, but packets addressed to such an
+address are processed as expected.</text>
+ </description>
+ </enum>
+ <enum name="invalid">
+ <value value="2"/>
+ <description>
+ <text>This isn't a valid address, and it shouldn't appear
+as the destination or source address of a packet.</text>
+ </description>
+ </enum>
+ <enum name="inaccessible">
+ <value value="3"/>
+ <description>
+ <text>The address is not accessible because the interface
+to which this address is assigned is not
+operational.</text>
+ </description>
+ </enum>
+ <enum name="unknown">
+ <value value="4"/>
+ <description>
+ <text>The status cannot be determined for some reason.</text>
+ </description>
+ </enum>
+ <enum name="tentative">
+ <value value="5"/>
+ <description>
+ <text>The uniqueness of the address on the link is being
+verified. Addresses in this state should not be
+used for general communication and should only be
+used to determine the uniqueness of the address.</text>
+ </description>
+ </enum>
+ <enum name="duplicate">
+ <value value="6"/>
+ <description>
+ <text>The address has been determined to be non-unique on
+the link and so must not be used.</text>
+ </description>
+ </enum>
+ <enum name="optimistic">
+ <value value="7"/>
+ <description>
+ <text>The address is available for use, subject to
+restrictions, while its uniqueness on a link is
+being verified.</text>
+ </description>
+ </enum>
+ </type>
+ <description>
+ <text>The status of an address. Most of the states correspond
+to states from the IPv6 Stateless Address
+Autoconfiguration protocol.</text>
+ </description>
+ <reference>
+ <text>RFC 4293: Management Information Base for the
+ Internet Protocol (IP)
+ - IpAddressStatusTC
+RFC 4862: IPv6 Stateless Address Autoconfiguration</text>
+ </reference>
+ </leaf>
+ </list>
+ <list name="neighbor">
+ <key value="ip"/>
+ <description>
+ <text>A list of mappings from IPv6 addresses to
+link-layer addresses.
+
+This list represents the Neighbor Cache.</text>
+ </description>
+ <reference>
+ <text>RFC 4861: Neighbor Discovery for IP version 6 (IPv6)</text>
+ </reference>
+ <leaf name="ip">
+ <type name="inet:ipv6-address-no-zone"/>
+ <description>
+ <text>The IPv6 address of the neighbor node.</text>
+ </description>
+ </leaf>
+ <leaf name="link-layer-address">
+ <type name="yang:phys-address"/>
+ <description>
+ <text>The link-layer address of the neighbor node.</text>
+ </description>
+ </leaf>
+ <leaf name="origin">
+ <type name="neighbor-origin"/>
+ <description>
+ <text>The origin of this neighbor entry.</text>
+ </description>
+ </leaf>
+ <leaf name="is-router">
+ <type name="empty"/>
+ <description>
+ <text>Indicates that the neighbor node acts as a router.</text>
+ </description>
+ </leaf>
+ <leaf name="state">
+ <type name="enumeration">
+ <enum name="incomplete">
+ <value value="0"/>
+ <description>
+ <text>Address resolution is in progress, and the link-layer
+address of the neighbor has not yet been
+determined.</text>
+ </description>
+ </enum>
+ <enum name="reachable">
+ <value value="1"/>
+ <description>
+ <text>Roughly speaking, the neighbor is known to have been
+reachable recently (within tens of seconds ago).</text>
+ </description>
+ </enum>
+ <enum name="stale">
+ <value value="2"/>
+ <description>
+ <text>The neighbor is no longer known to be reachable, but
+until traffic is sent to the neighbor no attempt
+should be made to verify its reachability.</text>
+ </description>
+ </enum>
+ <enum name="delay">
+ <value value="3"/>
+ <description>
+ <text>The neighbor is no longer known to be reachable, and
+traffic has recently been sent to the neighbor.
+Rather than probe the neighbor immediately, however,
+delay sending probes for a short while in order to
+give upper-layer protocols a chance to provide
+reachability confirmation.</text>
+ </description>
+ </enum>
+ <enum name="probe">
+ <value value="4"/>
+ <description>
+ <text>The neighbor is no longer known to be reachable, and
+unicast Neighbor Solicitation probes are being sent
+to verify reachability.</text>
+ </description>
+ </enum>
+ </type>
+ <description>
+ <text>The Neighbor Unreachability Detection state of this
+entry.</text>
+ </description>
+ <reference>
+ <text>RFC 4861: Neighbor Discovery for IP version 6 (IPv6)
+ Section 7.3.2</text>
+ </reference>
+ </leaf>
+ </list>
+ </container>
+ </augment>
+</module>
+</data>
+</rpc-reply>