1 module netconf-node-topology {
2 namespace "urn:opendaylight:netconf-node-topology";
5 import network-topology { prefix nt; revision-date 2013-10-21; }
6 import yang-ext { prefix ext; revision-date "2013-07-09";}
7 import ietf-inet-types { prefix inet; revision-date "2010-09-24"; }
9 revision "2015-01-14" {
10 description "Initial revision of Topology model";
13 augment "/nt:network-topology/nt:topology/nt:topology-types" {
14 container topology-netconf {
18 grouping netconf-node-credentials {
34 grouping netconf-node-connection-parameters {
41 type inet:port-number;
49 container yang-module-capabilities {
54 description "Whether to override or merge this list of capabilities with capabilities from device";
57 leaf-list capability {
59 description "Set a list of capabilities to override capabilities provided in device's hello message.
60 Can be used for devices that do not report any yang modules in their hello message";
64 leaf reconnect-on-changed-schema {
68 description "If true, the connector would auto disconnect/reconnect when schemas are changed in the remote device.
69 The connector subscribes (right after connect) to base netconf notifications and listens for netconf-capability-change notification";
72 leaf connection-timeout-millis {
73 description "Specifies timeout in milliseconds after which connection must be established.";
79 leaf default-request-timeout-millis {
80 description "Timeout for blocking operations within transactions.";
86 leaf max-connection-attempts {
87 description "Maximum number of connection retries. Non positive value or null is interpreted as infinity.";
90 default 0; // retry forever
93 leaf between-attempts-timeout-millis {
94 description "Initial timeout in milliseconds to wait between connection attempts. Will be multiplied by sleep-factor with every additional attempt";
108 // Keepalive configuration
109 leaf keepalive-delay {
113 description "Netconf connector sends keepalive RPCs while the session is idle, this delay specifies the delay between keepalive RPC in seconds
114 If a value <1 is provided, no keepalives will be sent";
118 grouping netconf-node-connection-status {
120 leaf connection-status {
125 enum unable-to-connect;
129 container clustered-connection-status {
145 leaf connected-message {
150 container available-capabilities {
152 leaf-list available-capability {
157 container unavailable-capabilities {
159 list unavailable-capability {
164 leaf failure-reason {
167 enum unable-to-resolve;
173 container pass-through {
174 when "../connection-status = connected";
176 "When the underlying node is connected, its NETCONF context
177 is available verbatim under this container through the
183 grouping netconf-schema-storage {
184 leaf schema-cache-directory {
188 description "The destination schema repository for yang files relative to the cache directory. This may be specified per netconf mount
189 so that the loaded yang files are stored to a distinct directory to avoid potential conflict.";
193 grouping netconf-node-fields {
195 uses netconf-node-credentials;
197 uses netconf-node-connection-parameters;
199 uses netconf-node-connection-status;
201 uses netconf-schema-storage;
205 augment "/nt:network-topology/nt:topology/nt:node" {
206 when "../../nt:topology-types/topology-netconf";
207 ext:augment-identifier "netconf-node";
209 uses netconf-node-fields;