aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/ietf/ietf-ip@2018-02-22.yang
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/yang/ietf/ietf-ip@2018-02-22.yang')
-rw-r--r--src/plugins/yang/ietf/ietf-ip@2018-02-22.yang876
1 files changed, 0 insertions, 876 deletions
diff --git a/src/plugins/yang/ietf/ietf-ip@2018-02-22.yang b/src/plugins/yang/ietf/ietf-ip@2018-02-22.yang
deleted file mode 100644
index a270f67..0000000
--- a/src/plugins/yang/ietf/ietf-ip@2018-02-22.yang
+++ /dev/null
@@ -1,876 +0,0 @@
-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";
- }
- }
- }
- }
-}