| module openconfig-if-ip-ext { |
| |
| yang-version "1"; |
| |
| // namespace |
| namespace "http://openconfig.net/yang/interfaces/ip-ext"; |
| |
| prefix "oc-ip-ext"; |
| |
| import openconfig-interfaces { prefix oc-if; } |
| import openconfig-if-ip { prefix oc-ip; } |
| import openconfig-extensions { prefix oc-ext; } |
| |
| |
| // meta |
| organization "OpenConfig working group"; |
| |
| contact |
| "OpenConfig working group |
| www.openconfig.net"; |
| |
| description |
| "This module adds extensions to the base IP configuration and |
| operational state model to support additional use cases."; |
| |
| oc-ext:openconfig-version "2.0.0"; |
| |
| revision "2017-07-14" { |
| description |
| "Added Ethernet/IP state data; Add dhcp-client; |
| migrate to OpenConfig types modules; Removed or |
| renamed opstate values"; |
| reference "2.0.0"; |
| } |
| |
| revision "2016-12-22" { |
| description |
| "Fixes to Ethernet interfaces model"; |
| reference "1.1.0"; |
| } |
| |
| |
| // grouping statements |
| |
| grouping ipv6-autoconf-config { |
| description |
| "Configuration data for IPv6 address autoconfiguration"; |
| |
| leaf create-global-addresses { |
| type boolean; |
| default true; |
| description |
| "[adapted from IETF IP model RFC 7277] |
| |
| 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 { |
| type boolean; |
| default false; |
| description |
| "[adapted from IETF IP model RFC 7277] |
| |
| 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 { |
| type uint32; |
| units "seconds"; |
| default 604800; |
| description |
| "[adapted from IETF IP model RFC 7277] |
| |
| 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 { |
| type uint32; |
| units "seconds"; |
| default 86400; |
| description |
| "[adapted from IETF IP model RFC 7277] |
| |
| The time period during which the temporary address is |
| preferred."; |
| reference |
| "RFC 4941: Privacy Extensions for Stateless Address |
| Autoconfiguration in IPv6 |
| - TEMP_PREFERRED_LIFETIME"; |
| } |
| } |
| |
| grouping ipv6-autoconf-state { |
| description |
| "Operational state data for IPv6 address autoconfiguration"; |
| |
| //TODO: placeholder for additional opstate for IPv6 autoconf |
| } |
| |
| grouping ipv6-autoconf-top { |
| description |
| "Top-level grouping for IPv6 address autoconfiguration"; |
| |
| container autoconf { |
| description |
| "Top-level container for IPv6 autoconf"; |
| |
| container config { |
| description |
| "[adapted from IETF IP model RFC 7277] |
| |
| Parameters to control the autoconfiguration of IPv6 |
| addresses, as described in RFC 4862."; |
| reference |
| "RFC 4862: IPv6 Stateless Address Autoconfiguration"; |
| |
| uses ipv6-autoconf-config; |
| } |
| |
| container state { |
| |
| config false; |
| |
| description |
| "Operational state data "; |
| |
| uses ipv6-autoconf-config; |
| uses ipv6-autoconf-state; |
| } |
| } |
| } |
| |
| // data definition statements |
| |
| // augment statements |
| |
| augment "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/" + |
| "oc-if:subinterface/oc-ip:ipv6" { |
| description |
| "Adds address autoconfiguration to the base IP model"; |
| |
| uses ipv6-autoconf-top; |
| } |
| |
| } |