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/ |