aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-if-ip-ext.yang
diff options
context:
space:
mode:
authorAndrej Kozemcak <andrej.kozemcak@pantheon.tech>2018-12-20 17:49:33 +0100
committerAndrej Kozemcak <andrej.kozemcak@pantheon.tech>2018-12-20 17:51:10 +0100
commit639509ad42f8bd6baf9b6f5b668a9bbfb05108d4 (patch)
tree83de866d2e47bd71dae0c6ff9e03f51c3269413b /src/plugins/yang/openconfig/openconfig-if-ip-ext.yang
parentba089324594f450a1b549906ec7fde1ba63a1e89 (diff)
Add Openconfig YANG modules.
Change-Id: I7e98bf1ca7196cff042a35b8bf096d2ea9d80028 Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-if-ip-ext.yang')
-rw-r--r--src/plugins/yang/openconfig/openconfig-if-ip-ext.yang169
1 files changed, 169 insertions, 0 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-if-ip-ext.yang b/src/plugins/yang/openconfig/openconfig-if-ip-ext.yang
new file mode 100644
index 0000000..a5b720b
--- /dev/null
+++ b/src/plugins/yang/openconfig/openconfig-if-ip-ext.yang
@@ -0,0 +1,169 @@
+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.3.0";
+
+ revision "2018-01-05" {
+ description
+ "Add logical loopback to interface.";
+ reference "2.3.0";
+ }
+
+ revision "2017-12-21" {
+ description
+ "Added IPv6 router advertisement configuration.";
+ reference "2.1.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;
+ }
+
+}