You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
877 lines
27 KiB
877 lines
27 KiB
1 year ago
|
module ietf-ip {
|
||
|
yang-version 1.1;
|
||
|
namespace "urn:ietf:params:xml:ns:yang:ietf-ip";
|
||
|
prefix ip;
|
||
|
|
||
|
import ietf-interfaces {
|
||
|
prefix if;
|
||
|
}
|
||
|
import ietf-inet-types {
|
||
|
prefix inet;
|
||
|
}
|
||
|
import ietf-yang-types {
|
||
|
prefix yang;
|
||
|
}
|
||
|
|
||
|
organization
|
||
|
"IETF NETMOD (Network Modeling) Working Group";
|
||
|
|
||
|
contact
|
||
|
"WG Web: <https://datatracker.ietf.org/wg/netmod/>
|
||
|
WG List: <mailto:netmod@ietf.org>
|
||
|
|
||
|
Editor: Martin Bjorklund
|
||
|
<mailto:mbj@tail-f.com>";
|
||
|
description
|
||
|
"This module contains a collection of YANG definitions for
|
||
|
managing IP implementations.
|
||
|
|
||
|
Copyright (c) 2018 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
|
||
|
(https://trustee.ietf.org/license-info).
|
||
|
|
||
|
This version of this YANG module is part of RFC 8344; see
|
||
|
the RFC itself for full legal notices.";
|
||
|
|
||
|
revision 2018-02-22 {
|
||
|
description
|
||
|
"Updated to support NMDA.";
|
||
|
reference
|
||
|
"RFC 8344: A YANG Data Model for IP Management";
|
||
|
}
|
||
|
|
||
|
revision 2014-06-16 {
|
||
|
description
|
||
|
"Initial revision.";
|
||
|
reference
|
||
|
"RFC 7277: A YANG Data Model for IP Management";
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
* Features
|
||
|
*/
|
||
|
|
||
|
feature ipv4-non-contiguous-netmasks {
|
||
|
description
|
||
|
"Indicates support for configuring non-contiguous
|
||
|
subnet masks.";
|
||
|
}
|
||
|
|
||
|
feature ipv6-privacy-autoconf {
|
||
|
description
|
||
|
"Indicates support for privacy extensions for stateless address
|
||
|
autoconfiguration in IPv6.";
|
||
|
reference
|
||
|
"RFC 4941: Privacy Extensions for Stateless Address
|
||
|
Autoconfiguration in IPv6";
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
* Typedefs
|
||
|
*/
|
||
|
|
||
|
typedef ip-address-origin {
|
||
|
type enumeration {
|
||
|
enum other {
|
||
|
description
|
||
|
"None of the following.";
|
||
|
}
|
||
|
|
||
|
enum static {
|
||
|
description
|
||
|
"Indicates that the address has been statically
|
||
|
configured -- for example, using the Network Configuration
|
||
|
Protocol (NETCONF) or a command line interface.";
|
||
|
}
|
||
|
enum dhcp {
|
||
|
description
|
||
|
"Indicates an address that has been assigned to this
|
||
|
system by a DHCP server.";
|
||
|
}
|
||
|
enum link-layer {
|
||
|
description
|
||
|
"Indicates an address created by IPv6 stateless
|
||
|
autoconfiguration that embeds a link-layer address in its
|
||
|
interface identifier.";
|
||
|
}
|
||
|
enum random {
|
||
|
description
|
||
|
"Indicates an address chosen by the system at
|
||
|
random, e.g., an IPv4 address within 169.254/16, a
|
||
|
temporary address as described in RFC 4941, or a
|
||
|
semantically opaque address as described in RFC 7217.";
|
||
|
reference
|
||
|
"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)";
|
||
|
}
|
||
|
}
|
||
|
description
|
||
|
"The origin of an address.";
|
||
|
}
|
||
|
|
||
|
typedef neighbor-origin {
|
||
|
type enumeration {
|
||
|
enum other {
|
||
|
description
|
||
|
"None of the following.";
|
||
|
}
|
||
|
enum static {
|
||
|
description
|
||
|
"Indicates that the mapping has been statically
|
||
|
configured -- for example, using NETCONF or a command line
|
||
|
interface.";
|
||
|
}
|
||
|
|
||
|
enum dynamic {
|
||
|
description
|
||
|
"Indicates that the mapping has been dynamically resolved
|
||
|
using, for example, IPv4 ARP or the IPv6 Neighbor
|
||
|
Discovery protocol.";
|
||
|
}
|
||
|
}
|
||
|
description
|
||
|
"The origin of a neighbor entry.";
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
* Data nodes
|
||
|
*/
|
||
|
|
||
|
augment "/if:interfaces/if:interface" {
|
||
|
description
|
||
|
"IP parameters on interfaces.
|
||
|
|
||
|
If an interface is not capable of running IP, the server
|
||
|
must not allow the client to configure these parameters.";
|
||
|
|
||
|
container ipv4 {
|
||
|
presence
|
||
|
"Enables IPv4 unless the 'enabled' leaf
|
||
|
(which defaults to 'true') is set to 'false'";
|
||
|
description
|
||
|
"Parameters for the IPv4 address family.";
|
||
|
|
||
|
leaf enabled {
|
||
|
type boolean;
|
||
|
default true;
|
||
|
description
|
||
|
"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.";
|
||
|
}
|
||
|
leaf forwarding {
|
||
|
type boolean;
|
||
|
default false;
|
||
|
description
|
||
|
"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).";
|
||
|
}
|
||
|
|
||
|
leaf mtu {
|
||
|
type uint16 {
|
||
|
range "68..max";
|
||
|
}
|
||
|
units "octets";
|
||
|
description
|
||
|
"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.";
|
||
|
reference
|
||
|
"RFC 791: Internet Protocol";
|
||
|
}
|
||
|
list address {
|
||
|
key "ip";
|
||
|
description
|
||
|
"The list of IPv4 addresses on the interface.";
|
||
|
|
||
|
leaf ip {
|
||
|
type inet:ipv4-address-no-zone;
|
||
|
description
|
||
|
"The IPv4 address on the interface.";
|
||
|
}
|
||
|
choice subnet {
|
||
|
mandatory true;
|
||
|
description
|
||
|
"The subnet can be specified as a prefix length or,
|
||
|
if the server supports non-contiguous netmasks, as
|
||
|
a netmask.";
|
||
|
leaf prefix-length {
|
||
|
type uint8 {
|
||
|
range "0..32";
|
||
|
}
|
||
|
description
|
||
|
"The length of the subnet prefix.";
|
||
|
}
|
||
|
leaf netmask {
|
||
|
if-feature ipv4-non-contiguous-netmasks;
|
||
|
type yang:dotted-quad;
|
||
|
description
|
||
|
"The subnet specified as a netmask.";
|
||
|
}
|
||
|
}
|
||
|
|
||
|
leaf origin {
|
||
|
type ip-address-origin;
|
||
|
config false;
|
||
|
description
|
||
|
"The origin of this address.";
|
||
|
}
|
||
|
}
|
||
|
list neighbor {
|
||
|
key "ip";
|
||
|
description
|
||
|
"A list of mappings from IPv4 addresses to
|
||
|
link-layer addresses.
|
||
|
|
||
|
Entries in this list in the intended configuration are
|
||
|
used as static entries in the ARP Cache.
|
||
|
|
||
|
In the operational state, this list represents the ARP
|
||
|
Cache.";
|
||
|
reference
|
||
|
"RFC 826: An Ethernet Address Resolution Protocol";
|
||
|
|
||
|
leaf ip {
|
||
|
type inet:ipv4-address-no-zone;
|
||
|
description
|
||
|
"The IPv4 address of the neighbor node.";
|
||
|
}
|
||
|
leaf link-layer-address {
|
||
|
type yang:phys-address;
|
||
|
mandatory true;
|
||
|
description
|
||
|
"The link-layer address of the neighbor node.";
|
||
|
}
|
||
|
leaf origin {
|
||
|
type neighbor-origin;
|
||
|
config false;
|
||
|
description
|
||
|
"The origin of this neighbor entry.";
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
container ipv6 {
|
||
|
presence
|
||
|
"Enables IPv6 unless the 'enabled' leaf
|
||
|
(which defaults to 'true') is set to 'false'";
|
||
|
description
|
||
|
"Parameters for the IPv6 address family.";
|
||
|
|
||
|
leaf enabled {
|
||
|
type boolean;
|
||
|
default true;
|
||
|
description
|
||
|
"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.";
|
||
|
}
|
||
|
leaf forwarding {
|
||
|
type boolean;
|
||
|
default false;
|
||
|
description
|
||
|
"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).";
|
||
|
reference
|
||
|
"RFC 4861: Neighbor Discovery for IP version 6 (IPv6)
|
||
|
Section 6.2.1, IsRouter";
|
||
|
}
|
||
|
leaf mtu {
|
||
|
type uint32 {
|
||
|
range "1280..max";
|
||
|
}
|
||
|
units "octets";
|
||
|
description
|
||
|
"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.";
|
||
|
reference
|
||
|
"RFC 8200: Internet Protocol, Version 6 (IPv6)
|
||
|
Specification
|
||
|
Section 5";
|
||
|
}
|
||
|
|
||
|
list address {
|
||
|
key "ip";
|
||
|
description
|
||
|
"The list of IPv6 addresses on the interface.";
|
||
|
|
||
|
leaf ip {
|
||
|
type inet:ipv6-address-no-zone;
|
||
|
description
|
||
|
"The IPv6 address on the interface.";
|
||
|
}
|
||
|
leaf prefix-length {
|
||
|
type uint8 {
|
||
|
range "0..128";
|
||
|
}
|
||
|
mandatory true;
|
||
|
description
|
||
|
"The length of the subnet prefix.";
|
||
|
}
|
||
|
leaf origin {
|
||
|
type ip-address-origin;
|
||
|
config false;
|
||
|
description
|
||
|
"The origin of this address.";
|
||
|
}
|
||
|
leaf status {
|
||
|
type enumeration {
|
||
|
enum preferred {
|
||
|
description
|
||
|
"This is a valid address that can appear as the
|
||
|
destination or source address of a packet.";
|
||
|
}
|
||
|
enum deprecated {
|
||
|
description
|
||
|
"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.";
|
||
|
}
|
||
|
enum invalid {
|
||
|
description
|
||
|
"This isn't a valid address, and it shouldn't appear
|
||
|
as the destination or source address of a packet.";
|
||
|
}
|
||
|
|
||
|
enum inaccessible {
|
||
|
description
|
||
|
"The address is not accessible because the interface
|
||
|
to which this address is assigned is not
|
||
|
operational.";
|
||
|
}
|
||
|
enum unknown {
|
||
|
description
|
||
|
"The status cannot be determined for some reason.";
|
||
|
}
|
||
|
enum tentative {
|
||
|
description
|
||
|
"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.";
|
||
|
}
|
||
|
enum duplicate {
|
||
|
description
|
||
|
"The address has been determined to be non-unique on
|
||
|
the link and so must not be used.";
|
||
|
}
|
||
|
enum optimistic {
|
||
|
description
|
||
|
"The address is available for use, subject to
|
||
|
restrictions, while its uniqueness on a link is
|
||
|
being verified.";
|
||
|
}
|
||
|
}
|
||
|
config false;
|
||
|
description
|
||
|
"The status of an address. Most of the states correspond
|
||
|
to states from the IPv6 Stateless Address
|
||
|
Autoconfiguration protocol.";
|
||
|
reference
|
||
|
"RFC 4293: Management Information Base for the
|
||
|
Internet Protocol (IP)
|
||
|
- IpAddressStatusTC
|
||
|
RFC 4862: IPv6 Stateless Address Autoconfiguration";
|
||
|
}
|
||
|
}
|
||
|
|
||
|
list neighbor {
|
||
|
key "ip";
|
||
|
description
|
||
|
"A list of mappings from IPv6 addresses to
|
||
|
link-layer addresses.
|
||
|
|
||
|
Entries in this list in the intended configuration are
|
||
|
used as static entries in the Neighbor Cache.
|
||
|
|
||
|
In the operational state, this list represents the
|
||
|
Neighbor Cache.";
|
||
|
reference
|
||
|
"RFC 4861: Neighbor Discovery for IP version 6 (IPv6)";
|
||
|
|
||
|
leaf ip {
|
||
|
type inet:ipv6-address-no-zone;
|
||
|
description
|
||
|
"The IPv6 address of the neighbor node.";
|
||
|
}
|
||
|
leaf link-layer-address {
|
||
|
type yang:phys-address;
|
||
|
mandatory true;
|
||
|
description
|
||
|
"The link-layer address of the neighbor node.
|
||
|
|
||
|
In the operational state, if the neighbor's 'state' leaf
|
||
|
is 'incomplete', this leaf is not instantiated.";
|
||
|
}
|
||
|
leaf origin {
|
||
|
type neighbor-origin;
|
||
|
config false;
|
||
|
description
|
||
|
"The origin of this neighbor entry.";
|
||
|
}
|
||
|
leaf is-router {
|
||
|
type empty;
|
||
|
config false;
|
||
|
description
|
||
|
"Indicates that the neighbor node acts as a router.";
|
||
|
}
|
||
|
|
||
|
leaf state {
|
||
|
type enumeration {
|
||
|
enum incomplete {
|
||
|
description
|
||
|
"Address resolution is in progress, and the
|
||
|
link-layer address of the neighbor has not yet been
|
||
|
determined.";
|
||
|
}
|
||
|
enum reachable {
|
||
|
description
|
||
|
"Roughly speaking, the neighbor is known to have been
|
||
|
reachable recently (within tens of seconds ago).";
|
||
|
}
|
||
|
enum stale {
|
||
|
description
|
||
|
"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.";
|
||
|
}
|
||
|
enum delay {
|
||
|
description
|
||
|
"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.";
|
||
|
}
|
||
|
enum probe {
|
||
|
description
|
||
|
"The neighbor is no longer known to be reachable, and
|
||
|
unicast Neighbor Solicitation probes are being sent
|
||
|
to verify reachability.";
|
||
|
}
|
||
|
}
|
||
|
config false;
|
||
|
description
|
||
|
"The Neighbor Unreachability Detection state of this
|
||
|
entry.";
|
||
|
reference
|
||
|
"RFC 4861: Neighbor Discovery for IP version 6 (IPv6)
|
||
|
Section 7.3.2";
|
||
|
}
|
||
|
}
|
||
|
|
||
|
leaf dup-addr-detect-transmits {
|
||
|
type uint32;
|
||
|
default 1;
|
||
|
description
|
||
|
"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.";
|
||
|
reference
|
||
|
"RFC 4862: IPv6 Stateless Address Autoconfiguration";
|
||
|
}
|
||
|
container autoconf {
|
||
|
description
|
||
|
"Parameters to control the autoconfiguration of IPv6
|
||
|
addresses, as described in RFC 4862.";
|
||
|
reference
|
||
|
"RFC 4862: IPv6 Stateless Address Autoconfiguration";
|
||
|
|
||
|
leaf create-global-addresses {
|
||
|
type boolean;
|
||
|
default true;
|
||
|
description
|
||
|
"If enabled, the host creates global addresses as
|
||
|
described in RFC 4862.";
|
||
|
reference
|
||
|
"RFC 4862: IPv6 Stateless Address Autoconfiguration
|
||
|
Section 5.5";
|
||
|
}
|
||
|
leaf create-temporary-addresses {
|
||
|
if-feature ipv6-privacy-autoconf;
|
||
|
type boolean;
|
||
|
default false;
|
||
|
description
|
||
|
"If enabled, the host creates temporary addresses as
|
||
|
described in RFC 4941.";
|
||
|
reference
|
||
|
"RFC 4941: Privacy Extensions for Stateless Address
|
||
|
Autoconfiguration in IPv6";
|
||
|
}
|
||
|
|
||
|
leaf temporary-valid-lifetime {
|
||
|
if-feature ipv6-privacy-autoconf;
|
||
|
type uint32;
|
||
|
units "seconds";
|
||
|
default 604800;
|
||
|
description
|
||
|
"The time period during which the temporary address
|
||
|
is valid.";
|
||
|
reference
|
||
|
"RFC 4941: Privacy Extensions for Stateless Address
|
||
|
Autoconfiguration in IPv6
|
||
|
- TEMP_VALID_LIFETIME";
|
||
|
}
|
||
|
leaf temporary-preferred-lifetime {
|
||
|
if-feature ipv6-privacy-autoconf;
|
||
|
type uint32;
|
||
|
units "seconds";
|
||
|
default 86400;
|
||
|
description
|
||
|
"The time period during which the temporary address is
|
||
|
preferred.";
|
||
|
reference
|
||
|
"RFC 4941: Privacy Extensions for Stateless Address
|
||
|
Autoconfiguration in IPv6
|
||
|
- TEMP_PREFERRED_LIFETIME";
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
* Legacy operational state data nodes
|
||
|
*/
|
||
|
|
||
|
augment "/if:interfaces-state/if:interface" {
|
||
|
status deprecated;
|
||
|
description
|
||
|
"Data nodes for the operational state of IP on interfaces.";
|
||
|
|
||
|
container ipv4 {
|
||
|
presence
|
||
|
"Present if IPv4 is enabled on this interface";
|
||
|
config false;
|
||
|
status deprecated;
|
||
|
description
|
||
|
"Interface-specific parameters for the IPv4 address family.";
|
||
|
|
||
|
leaf forwarding {
|
||
|
type boolean;
|
||
|
status deprecated;
|
||
|
description
|
||
|
"Indicates whether IPv4 packet forwarding is enabled or
|
||
|
disabled on this interface.";
|
||
|
}
|
||
|
leaf mtu {
|
||
|
type uint16 {
|
||
|
range "68..max";
|
||
|
}
|
||
|
units "octets";
|
||
|
status deprecated;
|
||
|
description
|
||
|
"The size, in octets, of the largest IPv4 packet that the
|
||
|
interface will send and receive.";
|
||
|
reference
|
||
|
"RFC 791: Internet Protocol";
|
||
|
}
|
||
|
list address {
|
||
|
key "ip";
|
||
|
status deprecated;
|
||
|
description
|
||
|
"The list of IPv4 addresses on the interface.";
|
||
|
|
||
|
leaf ip {
|
||
|
type inet:ipv4-address-no-zone;
|
||
|
status deprecated;
|
||
|
description
|
||
|
"The IPv4 address on the interface.";
|
||
|
}
|
||
|
choice subnet {
|
||
|
status deprecated;
|
||
|
description
|
||
|
"The subnet can be specified as a prefix length or,
|
||
|
if the server supports non-contiguous netmasks, as
|
||
|
a netmask.";
|
||
|
leaf prefix-length {
|
||
|
type uint8 {
|
||
|
range "0..32";
|
||
|
}
|
||
|
status deprecated;
|
||
|
description
|
||
|
"The length of the subnet prefix.";
|
||
|
}
|
||
|
leaf netmask {
|
||
|
if-feature ipv4-non-contiguous-netmasks;
|
||
|
type yang:dotted-quad;
|
||
|
status deprecated;
|
||
|
description
|
||
|
"The subnet specified as a netmask.";
|
||
|
}
|
||
|
}
|
||
|
leaf origin {
|
||
|
type ip-address-origin;
|
||
|
status deprecated;
|
||
|
description
|
||
|
"The origin of this address.";
|
||
|
}
|
||
|
}
|
||
|
list neighbor {
|
||
|
key "ip";
|
||
|
status deprecated;
|
||
|
description
|
||
|
"A list of mappings from IPv4 addresses to
|
||
|
link-layer addresses.
|
||
|
|
||
|
This list represents the ARP Cache.";
|
||
|
reference
|
||
|
"RFC 826: An Ethernet Address Resolution Protocol";
|
||
|
|
||
|
leaf ip {
|
||
|
type inet:ipv4-address-no-zone;
|
||
|
status deprecated;
|
||
|
description
|
||
|
"The IPv4 address of the neighbor node.";
|
||
|
}
|
||
|
|
||
|
leaf link-layer-address {
|
||
|
type yang:phys-address;
|
||
|
status deprecated;
|
||
|
description
|
||
|
"The link-layer address of the neighbor node.";
|
||
|
}
|
||
|
leaf origin {
|
||
|
type neighbor-origin;
|
||
|
status deprecated;
|
||
|
description
|
||
|
"The origin of this neighbor entry.";
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
container ipv6 {
|
||
|
presence
|
||
|
"Present if IPv6 is enabled on this interface";
|
||
|
config false;
|
||
|
status deprecated;
|
||
|
description
|
||
|
"Parameters for the IPv6 address family.";
|
||
|
|
||
|
leaf forwarding {
|
||
|
type boolean;
|
||
|
default false;
|
||
|
status deprecated;
|
||
|
description
|
||
|
"Indicates whether IPv6 packet forwarding is enabled or
|
||
|
disabled on this interface.";
|
||
|
reference
|
||
|
"RFC 4861: Neighbor Discovery for IP version 6 (IPv6)
|
||
|
Section 6.2.1, IsRouter";
|
||
|
}
|
||
|
leaf mtu {
|
||
|
type uint32 {
|
||
|
range "1280..max";
|
||
|
}
|
||
|
units "octets";
|
||
|
status deprecated;
|
||
|
description
|
||
|
"The size, in octets, of the largest IPv6 packet that the
|
||
|
interface will send and receive.";
|
||
|
reference
|
||
|
"RFC 8200: Internet Protocol, Version 6 (IPv6)
|
||
|
Specification
|
||
|
Section 5";
|
||
|
}
|
||
|
list address {
|
||
|
key "ip";
|
||
|
status deprecated;
|
||
|
description
|
||
|
"The list of IPv6 addresses on the interface.";
|
||
|
|
||
|
leaf ip {
|
||
|
type inet:ipv6-address-no-zone;
|
||
|
status deprecated;
|
||
|
description
|
||
|
"The IPv6 address on the interface.";
|
||
|
}
|
||
|
leaf prefix-length {
|
||
|
type uint8 {
|
||
|
range "0..128";
|
||
|
}
|
||
|
mandatory true;
|
||
|
status deprecated;
|
||
|
description
|
||
|
"The length of the subnet prefix.";
|
||
|
}
|
||
|
leaf origin {
|
||
|
type ip-address-origin;
|
||
|
status deprecated;
|
||
|
description
|
||
|
"The origin of this address.";
|
||
|
}
|
||
|
leaf status {
|
||
|
type enumeration {
|
||
|
enum preferred {
|
||
|
description
|
||
|
"This is a valid address that can appear as the
|
||
|
destination or source address of a packet.";
|
||
|
}
|
||
|
enum deprecated {
|
||
|
description
|
||
|
"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.";
|
||
|
}
|
||
|
enum invalid {
|
||
|
description
|
||
|
"This isn't a valid address, and it shouldn't appear
|
||
|
as the destination or source address of a packet.";
|
||
|
}
|
||
|
|
||
|
enum inaccessible {
|
||
|
description
|
||
|
"The address is not accessible because the interface
|
||
|
to which this address is assigned is not
|
||
|
operational.";
|
||
|
}
|
||
|
enum unknown {
|
||
|
description
|
||
|
"The status cannot be determined for some reason.";
|
||
|
}
|
||
|
enum tentative {
|
||
|
description
|
||
|
"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.";
|
||
|
}
|
||
|
enum duplicate {
|
||
|
description
|
||
|
"The address has been determined to be non-unique on
|
||
|
the link and so must not be used.";
|
||
|
}
|
||
|
enum optimistic {
|
||
|
description
|
||
|
"The address is available for use, subject to
|
||
|
restrictions, while its uniqueness on a link is
|
||
|
being verified.";
|
||
|
}
|
||
|
}
|
||
|
status deprecated;
|
||
|
description
|
||
|
"The status of an address. Most of the states correspond
|
||
|
to states from the IPv6 Stateless Address
|
||
|
Autoconfiguration protocol.";
|
||
|
reference
|
||
|
"RFC 4293: Management Information Base for the
|
||
|
Internet Protocol (IP)
|
||
|
- IpAddressStatusTC
|
||
|
RFC 4862: IPv6 Stateless Address Autoconfiguration";
|
||
|
}
|
||
|
}
|
||
|
|
||
|
list neighbor {
|
||
|
key "ip";
|
||
|
status deprecated;
|
||
|
description
|
||
|
"A list of mappings from IPv6 addresses to
|
||
|
link-layer addresses.
|
||
|
|
||
|
This list represents the Neighbor Cache.";
|
||
|
reference
|
||
|
"RFC 4861: Neighbor Discovery for IP version 6 (IPv6)";
|
||
|
|
||
|
leaf ip {
|
||
|
type inet:ipv6-address-no-zone;
|
||
|
status deprecated;
|
||
|
description
|
||
|
"The IPv6 address of the neighbor node.";
|
||
|
}
|
||
|
leaf link-layer-address {
|
||
|
type yang:phys-address;
|
||
|
status deprecated;
|
||
|
description
|
||
|
"The link-layer address of the neighbor node.";
|
||
|
}
|
||
|
leaf origin {
|
||
|
type neighbor-origin;
|
||
|
status deprecated;
|
||
|
description
|
||
|
"The origin of this neighbor entry.";
|
||
|
}
|
||
|
leaf is-router {
|
||
|
type empty;
|
||
|
status deprecated;
|
||
|
description
|
||
|
"Indicates that the neighbor node acts as a router.";
|
||
|
}
|
||
|
leaf state {
|
||
|
type enumeration {
|
||
|
enum incomplete {
|
||
|
description
|
||
|
"Address resolution is in progress, and the
|
||
|
link-layer address of the neighbor has not yet been
|
||
|
determined.";
|
||
|
}
|
||
|
enum reachable {
|
||
|
description
|
||
|
"Roughly speaking, the neighbor is known to have been
|
||
|
reachable recently (within tens of seconds ago).";
|
||
|
}
|
||
|
enum stale {
|
||
|
description
|
||
|
"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.";
|
||
|
}
|
||
|
enum delay {
|
||
|
description
|
||
|
"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.";
|
||
|
}
|
||
|
enum probe {
|
||
|
description
|
||
|
"The neighbor is no longer known to be reachable, and
|
||
|
unicast Neighbor Solicitation probes are being sent
|
||
|
to verify reachability.";
|
||
|
}
|
||
|
}
|
||
|
status deprecated;
|
||
|
description
|
||
|
"The Neighbor Unreachability Detection state of this
|
||
|
entry.";
|
||
|
reference
|
||
|
"RFC 4861: Neighbor Discovery for IP version 6 (IPv6)
|
||
|
Section 7.3.2";
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|