ietf-ip@2018-02-22.yang   ietf-ip@2018-02-22-f.yang 
skipping to change at line 45 skipping to change at line 44
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(https://trustee.ietf.org/license-info). (https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8344; see This version of this YANG module is part of RFC 8344; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
revision 2018-02-22 { revision 2018-02-22 {
description description
"Updated to support NMDA."; "Updated to support NMDA.";
reference reference "RFC 8344: A YANG Data Model for IP Management";
"RFC 8344: A YANG Data Model for IP Management";
} }
revision 2014-06-16 { revision 2014-06-16 {
description description
"Initial revision."; "Initial revision.";
reference reference "RFC 7277: A YANG Data Model for IP Management";
"RFC 7277: A YANG Data Model for IP Management";
} }
/*
* Features
*/
feature ipv4-non-contiguous-netmasks { feature ipv4-non-contiguous-netmasks {
description description
"Indicates support for configuring non-contiguous "Indicates support for configuring non-contiguous
subnet masks."; subnet masks.";
} }
feature ipv6-privacy-autoconf { feature ipv6-privacy-autoconf {
description description
"Indicates support for privacy extensions for stateless address "Indicates support for privacy extensions for stateless address
autoconfiguration in IPv6."; autoconfiguration in IPv6.";
reference reference
"RFC 4941: Privacy Extensions for Stateless Address "RFC 4941: Privacy Extensions for Stateless Address
Autoconfiguration in IPv6"; Autoconfiguration in IPv6";
} }
/*
* Typedefs
*/
typedef ip-address-origin { typedef ip-address-origin {
type enumeration { type enumeration {
enum other { enum "other" {
description description
"None of the following."; "None of the following.";
} }
enum static { enum "static" {
description description
"Indicates that the address has been statically "Indicates that the address has been statically
configured -- for example, using the Network Configuration configured -- for example, using the Network Configuration
Protocol (NETCONF) or a command line interface."; Protocol (NETCONF) or a command line interface.";
} }
enum dhcp { enum "dhcp" {
description description
"Indicates an address that has been assigned to this "Indicates an address that has been assigned to this
system by a DHCP server."; system by a DHCP server.";
} }
enum link-layer { enum "link-layer" {
description description
"Indicates an address created by IPv6 stateless "Indicates an address created by IPv6 stateless
autoconfiguration that embeds a link-layer address in its autoconfiguration that embeds a link-layer address in its
interface identifier."; interface identifier.";
} }
enum random { enum "random" {
description description
"Indicates an address chosen by the system at "Indicates an address chosen by the system at
random, e.g., an IPv4 address within 169.254/16, a random, e.g., an IPv4 address within 169.254/16, a
temporary address as described in RFC 4941, or a temporary address as described in RFC 4941, or a
semantically opaque address as described in RFC 7217."; semantically opaque address as described in RFC 7217.";
reference reference
"RFC 4941: Privacy Extensions for Stateless Address "RFC 4941: Privacy Extensions for Stateless Address
Autoconfiguration in IPv6 Autoconfiguration in IPv6
RFC 7217: A Method for Generating Semantically Opaque RFC 7217: A Method for Generating Semantically Opaque
Interface Identifiers with IPv6 Stateless Interface Identifiers with IPv6 Stateless
Address Autoconfiguration (SLAAC)"; Address Autoconfiguration (SLAAC)";
} }
} }
description description
"The origin of an address."; "The origin of an address.";
} }
typedef neighbor-origin { typedef neighbor-origin {
type enumeration { type enumeration {
enum other { enum "other" {
description description
"None of the following."; "None of the following.";
} }
enum static { enum "static" {
description description
"Indicates that the mapping has been statically "Indicates that the mapping has been statically
configured -- for example, using NETCONF or a command line configured -- for example, using NETCONF or a command line
interface."; interface.";
} }
enum dynamic { enum "dynamic" {
description description
"Indicates that the mapping has been dynamically resolved "Indicates that the mapping has been dynamically resolved
using, for example, IPv4 ARP or the IPv6 Neighbor using, for example, IPv4 ARP or the IPv6 Neighbor
Discovery protocol."; Discovery protocol.";
} }
} }
description description
"The origin of a neighbor entry."; "The origin of a neighbor entry.";
} }
/*
* Data nodes
*/
augment "/if:interfaces/if:interface" { augment "/if:interfaces/if:interface" {
description description
"IP parameters on interfaces. "IP parameters on interfaces.
If an interface is not capable of running IP, the server If an interface is not capable of running IP, the server
must not allow the client to configure these parameters."; must not allow the client to configure these parameters.";
container ipv4 { container ipv4 {
presence presence
"Enables IPv4 unless the 'enabled' leaf "Enables IPv4 unless the 'enabled' leaf
(which defaults to 'true') is set to 'false'"; (which defaults to 'true') is set to 'false'";
description description
"Parameters for the IPv4 address family."; "Parameters for the IPv4 address family.";
leaf enabled { leaf enabled {
type boolean; type boolean;
default true; default "true";
description description
"Controls whether IPv4 is enabled or disabled on this "Controls whether IPv4 is enabled or disabled on this
interface. When IPv4 is enabled, this interface is interface. When IPv4 is enabled, this interface is
connected to an IPv4 stack, and the interface can send connected to an IPv4 stack, and the interface can send
and receive IPv4 packets."; and receive IPv4 packets.";
} }
leaf forwarding { leaf forwarding {
type boolean; type boolean;
default false; default "false";
description description
"Controls IPv4 packet forwarding of datagrams received by, "Controls IPv4 packet forwarding of datagrams received by,
but not addressed to, this interface. IPv4 routers but not addressed to, this interface. IPv4 routers
forward datagrams. IPv4 hosts do not (except those forward datagrams. IPv4 hosts do not (except those
source-routed via the host)."; source-routed via the host).";
} }
leaf mtu { leaf mtu {
type uint16 { type uint16 {
range "68..max"; range "68..max";
} }
units octets; units "octets";
description description
"The size, in octets, of the largest IPv4 packet that the "The size, in octets, of the largest IPv4 packet that the
interface will send and receive. interface will send and receive.
The server may restrict the allowed values for this leaf, The server may restrict the allowed values for this leaf,
depending on the interface's type. depending on the interface's type.
If this leaf is not configured, the operationally used MTU If this leaf is not configured, the operationally used MTU
depends on the interface's type."; depends on the interface's type.";
reference reference "RFC 791: Internet Protocol";
"RFC 791: Internet Protocol";
} }
list address { list address {
key "ip"; key "ip";
description description
"The list of IPv4 addresses on the interface."; "The list of IPv4 addresses on the interface.";
leaf ip { leaf ip {
type inet:ipv4-address-no-zone; type inet:ipv4-address-no-zone;
description description
"The IPv4 address on the interface."; "The IPv4 address on the interface.";
} }
choice subnet { choice subnet {
mandatory true; mandatory true;
description description
"The subnet can be specified as a 'prefix-length' or, "The subnet can be specified as a 'prefix-length' or,
if the server supports non-contiguous netmasks, as if the server supports non-contiguous netmasks, as
skipping to change at line 220 skipping to change at line 200
if the server supports non-contiguous netmasks, as if the server supports non-contiguous netmasks, as
a netmask."; a netmask.";
leaf prefix-length { leaf prefix-length {
type uint8 { type uint8 {
range "0..32"; range "0..32";
} }
description description
"The length of the subnet prefix."; "The length of the subnet prefix.";
} }
leaf netmask { leaf netmask {
if-feature ipv4-non-contiguous-netmasks; if-feature "ipv4-non-contiguous-netmasks";
type yang:dotted-quad; type yang:dotted-quad;
description description
"The subnet specified as a netmask."; "The subnet specified as a netmask.";
} }
} }
leaf origin { leaf origin {
type ip-address-origin; type ip-address-origin;
config false; config false;
description description
"The origin of this address."; "The origin of this address.";
skipping to change at line 244 skipping to change at line 224
key "ip"; key "ip";
description description
"A list of mappings from IPv4 addresses to "A list of mappings from IPv4 addresses to
link-layer addresses. link-layer addresses.
Entries in this list in the intended configuration are Entries in this list in the intended configuration are
used as static entries in the ARP Cache. used as static entries in the ARP Cache.
In the operational state, this list represents the ARP In the operational state, this list represents the ARP
Cache."; Cache.";
reference reference "RFC 826: An Ethernet Address Resolution Protocol";
"RFC 826: An Ethernet Address Resolution Protocol";
leaf ip { leaf ip {
type inet:ipv4-address-no-zone; type inet:ipv4-address-no-zone;
description description
"The IPv4 address of the neighbor node."; "The IPv4 address of the neighbor node.";
} }
leaf link-layer-address { leaf link-layer-address {
type yang:phys-address; type yang:phys-address;
mandatory true; mandatory true;
description description
"The link-layer address of the neighbor node."; "The link-layer address of the neighbor node.";
skipping to change at line 266 skipping to change at line 244
"The link-layer address of the neighbor node."; "The link-layer address of the neighbor node.";
} }
leaf origin { leaf origin {
type neighbor-origin; type neighbor-origin;
config false; config false;
description description
"The origin of this neighbor entry."; "The origin of this neighbor entry.";
} }
} }
} }
container ipv6 { container ipv6 {
presence presence
"Enables IPv6 unless the 'enabled' leaf "Enables IPv6 unless the 'enabled' leaf
(which defaults to 'true') is set to 'false'"; (which defaults to 'true') is set to 'false'";
description description
"Parameters for the IPv6 address family."; "Parameters for the IPv6 address family.";
leaf enabled { leaf enabled {
type boolean; type boolean;
default true; default "true";
description description
"Controls whether IPv6 is enabled or disabled on this "Controls whether IPv6 is enabled or disabled on this
interface. When IPv6 is enabled, this interface is interface. When IPv6 is enabled, this interface is
connected to an IPv6 stack, and the interface can send connected to an IPv6 stack, and the interface can send
and receive IPv6 packets."; and receive IPv6 packets.";
} }
leaf forwarding { leaf forwarding {
type boolean; type boolean;
default false; default "false";
description description
"Controls IPv6 packet forwarding of datagrams received by, "Controls IPv6 packet forwarding of datagrams received by,
but not addressed to, this interface. IPv6 routers but not addressed to, this interface. IPv6 routers
forward datagrams. IPv6 hosts do not (except those forward datagrams. IPv6 hosts do not (except those
source-routed via the host)."; source-routed via the host).";
reference reference
"RFC 4861: Neighbor Discovery for IP version 6 (IPv6) "RFC 4861: Neighbor Discovery for IP version 6 (IPv6)
Section 6.2.1, IsRouter"; Section 6.2.1, IsRouter";
} }
leaf mtu { leaf mtu {
type uint32 { type uint32 {
range "1280..max"; range "1280..max";
} }
units octets; units "octets";
description description
"The size, in octets, of the largest IPv6 packet that the "The size, in octets, of the largest IPv6 packet that the
interface will send and receive. interface will send and receive.
The server may restrict the allowed values for this leaf, The server may restrict the allowed values for this leaf,
depending on the interface's type. depending on the interface's type.
If this leaf is not configured, the operationally used MTU If this leaf is not configured, the operationally used MTU
depends on the interface's type."; depends on the interface's type.";
reference reference
skipping to change at line 341 skipping to change at line 315
"The length of the subnet prefix."; "The length of the subnet prefix.";
} }
leaf origin { leaf origin {
type ip-address-origin; type ip-address-origin;
config false; config false;
description description
"The origin of this address."; "The origin of this address.";
} }
leaf status { leaf status {
type enumeration { type enumeration {
enum preferred { enum "preferred" {
description description
"This is a valid address that can appear as the "This is a valid address that can appear as the
destination or source address of a packet."; destination or source address of a packet.";
} }
enum deprecated { enum "deprecated" {
description description
"This is a valid but deprecated address that should "This is a valid but deprecated address that should
no longer be used as a source address in new no longer be used as a source address in new
communications, but packets addressed to such an communications, but packets addressed to such an
address are processed as expected."; address are processed as expected.";
} }
enum invalid { enum "invalid" {
description description
"This isn't a valid address, and it shouldn't appear "This isn't a valid address, and it shouldn't appear
as the destination or source address of a packet."; as the destination or source address of a packet.";
} }
enum inaccessible { enum "inaccessible" {
description description
"The address is not accessible because the interface "The address is not accessible because the interface
to which this address is assigned is not to which this address is assigned is not
operational."; operational.";
} }
enum unknown { enum "unknown" {
description description
"The status cannot be determined for some reason."; "The status cannot be determined for some reason.";
} }
enum tentative { enum "tentative" {
description description
"The uniqueness of the address on the link is being "The uniqueness of the address on the link is being
verified. Addresses in this state should not be verified. Addresses in this state should not be
used for general communication and should only be used for general communication and should only be
used to determine the uniqueness of the address."; used to determine the uniqueness of the address.";
} }
enum duplicate { enum "duplicate" {
description description
"The address has been determined to be non-unique on "The address has been determined to be non-unique on
the link and so must not be used."; the link and so must not be used.";
} }
enum optimistic { enum "optimistic" {
description description
"The address is available for use, subject to "The address is available for use, subject to
restrictions, while its uniqueness on a link is restrictions, while its uniqueness on a link is
being verified."; being verified.";
} }
} }
config false; config false;
description description
"The status of an address. Most of the states correspond "The status of an address. Most of the states correspond
to states from the IPv6 Stateless Address to states from the IPv6 Stateless Address
skipping to change at line 410 skipping to change at line 384
key "ip"; key "ip";
description description
"A list of mappings from IPv6 addresses to "A list of mappings from IPv6 addresses to
link-layer addresses. link-layer addresses.
Entries in this list in the intended configuration are Entries in this list in the intended configuration are
used as static entries in the Neighbor Cache. used as static entries in the Neighbor Cache.
In the operational state, this list represents the In the operational state, this list represents the
Neighbor Cache."; Neighbor Cache.";
reference reference "RFC 4861: Neighbor Discovery for IP version 6 (IPv6)";
"RFC 4861: Neighbor Discovery for IP version 6 (IPv6)";
leaf ip { leaf ip {
type inet:ipv6-address-no-zone; type inet:ipv6-address-no-zone;
description description
"The IPv6 address of the neighbor node."; "The IPv6 address of the neighbor node.";
} }
leaf link-layer-address { leaf link-layer-address {
type yang:phys-address; type yang:phys-address;
mandatory true; mandatory true;
description description
"The link-layer address of the neighbor node. "The link-layer address of the neighbor node.
skipping to change at line 441 skipping to change at line 413
"The origin of this neighbor entry."; "The origin of this neighbor entry.";
} }
leaf is-router { leaf is-router {
type empty; type empty;
config false; config false;
description description
"Indicates that the neighbor node acts as a router."; "Indicates that the neighbor node acts as a router.";
} }
leaf state { leaf state {
type enumeration { type enumeration {
enum incomplete { enum "incomplete" {
description description
"Address resolution is in progress, and the "Address resolution is in progress, and the
link-layer address of the neighbor has not yet been link-layer address of the neighbor has not yet been
determined."; determined.";
} }
enum reachable { enum "reachable" {
description description
"Roughly speaking, the neighbor is known to have been "Roughly speaking, the neighbor is known to have been
reachable recently (within tens of seconds ago)."; reachable recently (within tens of seconds ago).";
} }
enum stale { enum "stale" {
description description
"The neighbor is no longer known to be reachable, but "The neighbor is no longer known to be reachable, but
until traffic is sent to the neighbor no attempt until traffic is sent to the neighbor no attempt
should be made to verify its reachability."; should be made to verify its reachability.";
} }
enum delay { enum "delay" {
description description
"The neighbor is no longer known to be reachable, and "The neighbor is no longer known to be reachable, and
traffic has recently been sent to the neighbor. traffic has recently been sent to the neighbor.
Rather than probe the neighbor immediately, however, Rather than probe the neighbor immediately, however,
delay sending probes for a short while in order to delay sending probes for a short while in order to
give upper-layer protocols a chance to provide give upper-layer protocols a chance to provide
reachability confirmation."; reachability confirmation.";
} }
enum probe { enum "probe" {
description description
"The neighbor is no longer known to be reachable, and "The neighbor is no longer known to be reachable, and
unicast Neighbor Solicitation probes are being sent unicast Neighbor Solicitation probes are being sent
to verify reachability."; to verify reachability.";
} }
} }
config false; config false;
description description
"The Neighbor Unreachability Detection state of this "The Neighbor Unreachability Detection state of this
entry."; entry.";
skipping to change at line 483 skipping to change at line 455
} }
config false; config false;
description description
"The Neighbor Unreachability Detection state of this "The Neighbor Unreachability Detection state of this
entry."; entry.";
reference reference
"RFC 4861: Neighbor Discovery for IP version 6 (IPv6) "RFC 4861: Neighbor Discovery for IP version 6 (IPv6)
Section 7.3.2"; Section 7.3.2";
} }
} }
leaf dup-addr-detect-transmits { leaf dup-addr-detect-transmits {
type uint32; type uint32;
default 1; default "1";
description description
"The number of consecutive Neighbor Solicitation messages "The number of consecutive Neighbor Solicitation messages
sent while performing Duplicate Address Detection on a sent while performing Duplicate Address Detection on a
tentative address. A value of zero indicates that tentative address. A value of zero indicates that
Duplicate Address Detection is not performed on Duplicate Address Detection is not performed on
tentative addresses. A value of one indicates a single tentative addresses. A value of one indicates a single
transmission with no follow-up retransmissions."; transmission with no follow-up retransmissions.";
reference reference "RFC 4862: IPv6 Stateless Address Autoconfiguration";
"RFC 4862: IPv6 Stateless Address Autoconfiguration";
} }
container autoconf { container autoconf {
description description
"Parameters to control the autoconfiguration of IPv6 "Parameters to control the autoconfiguration of IPv6
addresses, as described in RFC 4862."; addresses, as described in RFC 4862.";
reference reference "RFC 4862: IPv6 Stateless Address Autoconfiguration";
"RFC 4862: IPv6 Stateless Address Autoconfiguration";
leaf create-global-addresses { leaf create-global-addresses {
type boolean; type boolean;
default true; default "true";
description description
"If enabled, the host creates global addresses as "If enabled, the host creates global addresses as
described in RFC 4862."; described in RFC 4862.";
reference reference
"RFC 4862: IPv6 Stateless Address Autoconfiguration "RFC 4862: IPv6 Stateless Address Autoconfiguration
Section 5.5"; Section 5.5";
} }
leaf create-temporary-addresses { leaf create-temporary-addresses {
if-feature ipv6-privacy-autoconf; if-feature "ipv6-privacy-autoconf";
type boolean; type boolean;
default false; default "false";
description description
"If enabled, the host creates temporary addresses as "If enabled, the host creates temporary addresses as
described in RFC 4941."; described in RFC 4941.";
reference reference
"RFC 4941: Privacy Extensions for Stateless Address "RFC 4941: Privacy Extensions for Stateless Address
Autoconfiguration in IPv6"; Autoconfiguration in IPv6";
} }
leaf temporary-valid-lifetime { leaf temporary-valid-lifetime {
if-feature ipv6-privacy-autoconf; if-feature "ipv6-privacy-autoconf";
type uint32; type uint32;
units "seconds"; units "seconds";
default 604800; default "604800";
description description
"The time period during which the temporary address "The time period during which the temporary address
is valid."; is valid.";
reference reference
"RFC 4941: Privacy Extensions for Stateless Address "RFC 4941: Privacy Extensions for Stateless Address
Autoconfiguration in IPv6 Autoconfiguration in IPv6
- TEMP_VALID_LIFETIME"; - TEMP_VALID_LIFETIME";
} }
leaf temporary-preferred-lifetime { leaf temporary-preferred-lifetime {
if-feature ipv6-privacy-autoconf; if-feature "ipv6-privacy-autoconf";
type uint32; type uint32;
units "seconds"; units "seconds";
default 86400; default "86400";
description description
"The time period during which the temporary address is "The time period during which the temporary address is
preferred."; preferred.";
reference reference
"RFC 4941: Privacy Extensions for Stateless Address "RFC 4941: Privacy Extensions for Stateless Address
Autoconfiguration in IPv6 Autoconfiguration in IPv6
- TEMP_PREFERRED_LIFETIME"; - TEMP_PREFERRED_LIFETIME";
} }
} }
} }
} }
/*
* Legacy operational state data nodes
*/
augment "/if:interfaces-state/if:interface" { augment "/if:interfaces-state/if:interface" {
status deprecated; status deprecated;
description description
"Data nodes for the operational state of IP on interfaces."; "Data nodes for the operational state of IP on interfaces.";
container ipv4 { container ipv4 {
presence presence "Present if IPv4 is enabled on this interface";
"Present if IPv4 is enabled on this interface";
config false; config false;
status deprecated; status deprecated;
description description
"Interface-specific parameters for the IPv4 address family."; "Interface-specific parameters for the IPv4 address family.";
leaf forwarding { leaf forwarding {
type boolean; type boolean;
status deprecated; status deprecated;
description description
"Indicates whether IPv4 packet forwarding is enabled or "Indicates whether IPv4 packet forwarding is enabled or
disabled on this interface."; disabled on this interface.";
} }
leaf mtu { leaf mtu {
type uint16 { type uint16 {
range "68..max"; range "68..max";
skipping to change at line 584 skipping to change at line 543
type boolean; type boolean;
status deprecated; status deprecated;
description description
"Indicates whether IPv4 packet forwarding is enabled or "Indicates whether IPv4 packet forwarding is enabled or
disabled on this interface."; disabled on this interface.";
} }
leaf mtu { leaf mtu {
type uint16 { type uint16 {
range "68..max"; range "68..max";
} }
units octets; units "octets";
status deprecated; status deprecated;
description description
"The size, in octets, of the largest IPv4 packet that the "The size, in octets, of the largest IPv4 packet that the
interface will send and receive."; interface will send and receive.";
reference reference "RFC 791: Internet Protocol";
"RFC 791: Internet Protocol";
} }
list address { list address {
key "ip"; key "ip";
status deprecated; status deprecated;
description description
"The list of IPv4 addresses on the interface."; "The list of IPv4 addresses on the interface.";
leaf ip { leaf ip {
type inet:ipv4-address-no-zone; type inet:ipv4-address-no-zone;
status deprecated; status deprecated;
description description
"The IPv4 address on the interface."; "The IPv4 address on the interface.";
} }
choice subnet { choice subnet {
status deprecated; status deprecated;
description description
"The subnet can be specified as a 'prefix-length' or, "The subnet can be specified as a 'prefix-length' or,
skipping to change at line 619 skipping to change at line 576
a netmask."; a netmask.";
leaf prefix-length { leaf prefix-length {
type uint8 { type uint8 {
range "0..32"; range "0..32";
} }
status deprecated; status deprecated;
description description
"The length of the subnet prefix."; "The length of the subnet prefix.";
} }
leaf netmask { leaf netmask {
if-feature ipv4-non-contiguous-netmasks; if-feature "ipv4-non-contiguous-netmasks";
type yang:dotted-quad; type yang:dotted-quad;
status deprecated; status deprecated;
description description
"The subnet specified as a netmask."; "The subnet specified as a netmask.";
} }
} }
leaf origin { leaf origin {
type ip-address-origin; type ip-address-origin;
status deprecated; status deprecated;
description description
skipping to change at line 641 skipping to change at line 598
} }
} }
list neighbor { list neighbor {
key "ip"; key "ip";
status deprecated; status deprecated;
description description
"A list of mappings from IPv4 addresses to "A list of mappings from IPv4 addresses to
link-layer addresses. link-layer addresses.
This list represents the ARP Cache."; This list represents the ARP Cache.";
reference reference "RFC 826: An Ethernet Address Resolution Protocol";
"RFC 826: An Ethernet Address Resolution Protocol";
leaf ip { leaf ip {
type inet:ipv4-address-no-zone; type inet:ipv4-address-no-zone;
status deprecated; status deprecated;
description description
"The IPv4 address of the neighbor node."; "The IPv4 address of the neighbor node.";
} }
leaf link-layer-address { leaf link-layer-address {
type yang:phys-address; type yang:phys-address;
status deprecated; status deprecated;
description description
skipping to change at line 664 skipping to change at line 619
"The link-layer address of the neighbor node."; "The link-layer address of the neighbor node.";
} }
leaf origin { leaf origin {
type neighbor-origin; type neighbor-origin;
status deprecated; status deprecated;
description description
"The origin of this neighbor entry."; "The origin of this neighbor entry.";
} }
} }
} }
container ipv6 { container ipv6 {
presence presence "Present if IPv6 is enabled on this interface";
"Present if IPv6 is enabled on this interface";
config false; config false;
status deprecated; status deprecated;
description description
"Parameters for the IPv6 address family."; "Parameters for the IPv6 address family.";
leaf forwarding { leaf forwarding {
type boolean; type boolean;
default false; default "false";
status deprecated; status deprecated;
description description
"Indicates whether IPv6 packet forwarding is enabled or "Indicates whether IPv6 packet forwarding is enabled or
disabled on this interface."; disabled on this interface.";
reference reference
"RFC 4861: Neighbor Discovery for IP version 6 (IPv6) "RFC 4861: Neighbor Discovery for IP version 6 (IPv6)
Section 6.2.1, IsRouter"; Section 6.2.1, IsRouter";
} }
leaf mtu { leaf mtu {
type uint32 { type uint32 {
range "1280..max"; range "1280..max";
} }
units octets; units "octets";
status deprecated; status deprecated;
description description
"The size, in octets, of the largest IPv6 packet that the "The size, in octets, of the largest IPv6 packet that the
interface will send and receive."; interface will send and receive.";
reference reference
"RFC 8200: Internet Protocol, Version 6 (IPv6) "RFC 8200: Internet Protocol, Version 6 (IPv6)
Specification Specification
Section 5"; Section 5";
} }
list address { list address {
skipping to change at line 727 skipping to change at line 678
"The length of the subnet prefix."; "The length of the subnet prefix.";
} }
leaf origin { leaf origin {
type ip-address-origin; type ip-address-origin;
status deprecated; status deprecated;
description description
"The origin of this address."; "The origin of this address.";
} }
leaf status { leaf status {
type enumeration { type enumeration {
enum preferred { enum "preferred" {
description description
"This is a valid address that can appear as the "This is a valid address that can appear as the
destination or source address of a packet."; destination or source address of a packet.";
} }
enum deprecated { enum "deprecated" {
description description
"This is a valid but deprecated address that should "This is a valid but deprecated address that should
no longer be used as a source address in new no longer be used as a source address in new
communications, but packets addressed to such an communications, but packets addressed to such an
address are processed as expected."; address are processed as expected.";
} }
enum invalid { enum "invalid" {
description description
"This isn't a valid address, and it shouldn't appear "This isn't a valid address, and it shouldn't appear
as the destination or source address of a packet."; as the destination or source address of a packet.";
} }
enum inaccessible { enum "inaccessible" {
description description
"The address is not accessible because the interface "The address is not accessible because the interface
to which this address is assigned is not to which this address is assigned is not
operational."; operational.";
} }
enum unknown { enum "unknown" {
description description
"The status cannot be determined for some reason."; "The status cannot be determined for some reason.";
} }
enum tentative { enum "tentative" {
description description
"The uniqueness of the address on the link is being "The uniqueness of the address on the link is being
verified. Addresses in this state should not be verified. Addresses in this state should not be
used for general communication and should only be used for general communication and should only be
used to determine the uniqueness of the address."; used to determine the uniqueness of the address.";
} }
enum duplicate { enum "duplicate" {
description description
"The address has been determined to be non-unique on "The address has been determined to be non-unique on
the link and so must not be used."; the link and so must not be used.";
} }
enum optimistic { enum "optimistic" {
description description
"The address is available for use, subject to "The address is available for use, subject to
restrictions, while its uniqueness on a link is restrictions, while its uniqueness on a link is
being verified."; being verified.";
} }
} }
status deprecated; status deprecated;
description description
"The status of an address. Most of the states correspond "The status of an address. Most of the states correspond
to states from the IPv6 Stateless Address to states from the IPv6 Stateless Address
skipping to change at line 793 skipping to change at line 744
} }
} }
list neighbor { list neighbor {
key "ip"; key "ip";
status deprecated; status deprecated;
description description
"A list of mappings from IPv6 addresses to "A list of mappings from IPv6 addresses to
link-layer addresses. link-layer addresses.
This list represents the Neighbor Cache."; This list represents the Neighbor Cache.";
reference reference "RFC 4861: Neighbor Discovery for IP version 6 (IPv6)";
"RFC 4861: Neighbor Discovery for IP version 6 (IPv6)";
leaf ip { leaf ip {
type inet:ipv6-address-no-zone; type inet:ipv6-address-no-zone;
status deprecated; status deprecated;
description description
"The IPv6 address of the neighbor node."; "The IPv6 address of the neighbor node.";
} }
leaf link-layer-address { leaf link-layer-address {
type yang:phys-address; type yang:phys-address;
status deprecated; status deprecated;
description description
skipping to change at line 822 skipping to change at line 771
"The origin of this neighbor entry."; "The origin of this neighbor entry.";
} }
leaf is-router { leaf is-router {
type empty; type empty;
status deprecated; status deprecated;
description description
"Indicates that the neighbor node acts as a router."; "Indicates that the neighbor node acts as a router.";
} }
leaf state { leaf state {
type enumeration { type enumeration {
enum incomplete { enum "incomplete" {
description description
"Address resolution is in progress, and the "Address resolution is in progress, and the
link-layer address of the neighbor has not yet been link-layer address of the neighbor has not yet been
determined."; determined.";
} }
enum reachable { enum "reachable" {
description description
"Roughly speaking, the neighbor is known to have been "Roughly speaking, the neighbor is known to have been
reachable recently (within tens of seconds ago)."; reachable recently (within tens of seconds ago).";
} }
enum stale { enum "stale" {
description description
"The neighbor is no longer known to be reachable, but "The neighbor is no longer known to be reachable, but
until traffic is sent to the neighbor no attempt until traffic is sent to the neighbor no attempt
should be made to verify its reachability."; should be made to verify its reachability.";
} }
enum delay { enum "delay" {
description description
"The neighbor is no longer known to be reachable, and "The neighbor is no longer known to be reachable, and
traffic has recently been sent to the neighbor. traffic has recently been sent to the neighbor.
Rather than probe the neighbor immediately, however, Rather than probe the neighbor immediately, however,
delay sending probes for a short while in order to delay sending probes for a short while in order to
give upper-layer protocols a chance to provide give upper-layer protocols a chance to provide
reachability confirmation."; reachability confirmation.";
} }
enum probe { enum "probe" {
description description
"The neighbor is no longer known to be reachable, and "The neighbor is no longer known to be reachable, and
unicast Neighbor Solicitation probes are being sent unicast Neighbor Solicitation probes are being sent
to verify reachability."; to verify reachability.";
} }
} }
status deprecated; status deprecated;
description description
"The Neighbor Unreachability Detection state of this "The Neighbor Unreachability Detection state of this
entry."; entry.";
reference reference
"RFC 4861: Neighbor Discovery for IP version 6 (IPv6) "RFC 4861: Neighbor Discovery for IP version 6 (IPv6)
Section 7.3.2"; Section 7.3.2";
} }
} }
} }
} }
/*
* Features
*/
/*
* Typedefs
*/
/*
* Data nodes
*/
/*
* Legacy operational state data nodes
*/
} }
 End of changes. 83 change blocks. 
112 lines changed or deleted 78 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/