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 "2013-07-15"; }
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;
54 container yang-module-capabilities {
59 description "Whether to override or merge this list of capabilities with capabilities from device";
62 leaf-list capability {
64 description "Set a list of capabilities to override capabilities provided in device's hello message.
65 Can be used for devices that do not report any yang modules in their hello message";
69 leaf reconnect-on-changed-schema {
73 description "If true, the connector would auto disconnect/reconnect when schemas are changed in the remote device.
74 The connector subscribes (right after connect) to base netconf notifications and listens for netconf-capability-change notification";
77 leaf connection-timeout-millis {
78 description "Specifies timeout in milliseconds after which connection must be established.";
84 leaf default-request-timeout-millis {
85 description "Timeout for blocking operations within transactions.";
91 leaf max-connection-attempts {
92 description "Maximum number of connection retries. Non positive value or null is interpreted as infinity.";
95 default 0; // retry forever
98 leaf between-attempts-timeout-millis {
99 description "Initial timeout in milliseconds to wait between connection attempts. Will be multiplied by sleep-factor with every additional attempt";
113 // Keepalive configuration
114 leaf keepalive-delay {
118 description "Netconf connector sends keepalive RPCs while the session is idle, this delay specifies the delay between keepalive RPC in seconds
119 If a value <1 is provided, no keepalives will be sent";
122 leaf concurrent-rpc-limit {
126 description "Limit of concurrent messages that can be send before reply messages are received.
127 If value <1 is provided, no limit will be enforced";
131 grouping netconf-node-connection-status {
133 leaf connection-status {
138 enum unable-to-connect;
142 container clustered-connection-status {
156 leaf netconf-master-node {
162 leaf connected-message {
167 container available-capabilities {
169 list available-capability {
173 leaf capability-origin {
176 enum device-advertised;
182 container unavailable-capabilities {
184 list unavailable-capability {
189 leaf failure-reason {
192 enum unable-to-resolve;
198 container pass-through {
199 when "../connection-status = connected";
201 "When the underlying node is connected, its NETCONF context
202 is available verbatim under this container through the
208 grouping netconf-schema-storage {
209 leaf schema-cache-directory {
213 description "The destination schema repository for yang files relative to the cache directory. This may be specified per netconf mount
214 so that the loaded yang files are stored to a distinct directory to avoid potential conflict.";
217 container yang-library {
218 leaf yang-library-url {
221 description "Yang library to be plugged as additional source provider into the shared schema repository";
224 // credentials for basic http authentication
237 grouping netconf-node-fields {
239 uses netconf-node-credentials;
241 uses netconf-node-connection-parameters;
243 uses netconf-node-connection-status;
245 uses netconf-schema-storage;
249 augment "/nt:network-topology/nt:topology/nt:node" {
250 when "../../nt:topology-types/topology-netconf";
251 ext:augment-identifier "netconf-node";
253 uses netconf-node-fields;