1 module odl-sal-netconf-connector-cfg {
3 namespace "urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf";
6 import config { prefix config; revision-date 2013-04-05; }
7 import threadpool {prefix th;}
8 import netty {prefix netty;}
9 import opendaylight-md-sal-dom {prefix dom;}
10 import opendaylight-md-sal-binding {prefix md-sal-binding; revision-date 2013-10-28;}
11 import odl-netconf-cfg { prefix cfg-net; revision-date 2014-04-08; }
12 import ietf-inet-types {prefix inet; revision-date "2013-07-15";}
15 "Config definition for Netconf Connector modules";
17 revision "2015-08-03" {
19 "Non-mandatory keepalive executor";
22 revision "2013-10-28" {
27 identity sal-netconf-connector {
28 base config:module-type;
29 config:java-name-prefix NetconfConnector;
43 augment "/config:modules/config:module/config:configuration" {
45 case sal-netconf-connector {
46 when "/config:modules/config:module/config:type = 'sal-netconf-connector'";
53 type inet:port-number;
68 leaf concurrent-rpc-limit {
71 description "Limit of concurrent messages that can be send before reply messages are received.
72 If value less than 1 is provided, no limit will be enforced";
75 leaf schema-cache-directory {
78 description "The destination schema repository for yang files relative to the cache directory. This may be specified per netconf mount
79 so that the loaded yang files are stored to a distinct directory to avoid potential conflict.";
82 container yang-module-capabilities {
86 description "Whether to override or merge this list of capabilities with capabilities from device";
89 leaf-list capability {
91 description "Set a list of capabilities to override capabilities provided in device's hello message.
92 Can be used for devices that do not report any yang modules in their hello message";
96 container non-module-capabilities {
100 description "Whether to override or merge this list of non-module based capabilities with non-module
101 based capabilities from device";
104 leaf-list capability {
106 description "Set a list of non-module based capabilities to override or merge non-module capabilities
107 provided in device's hello message. Can be used for devices that do not report or
108 incorrectly report non-module based capabilities in their hello message";
112 leaf reconnect-on-changed-schema {
115 description "If true, the connector would auto disconnect/reconnect when schemas are changed in the remote device.
116 The connector subscribes (right after connect) to base netconf notifications and listens for netconf-capability-change notification";
119 container dom-registry {
120 uses config:service-ref {
123 config:required-identity dom:dom-broker-osgi-registry;
128 container binding-registry {
129 uses config:service-ref {
132 config:required-identity md-sal-binding:binding-broker-osgi-registry;
137 container event-executor {
138 uses config:service-ref {
141 config:required-identity netty:netty-event-executor;
146 container processing-executor {
147 uses config:service-ref {
150 config:required-identity th:threadpool;
154 description "Makes up for flaws in netty threading design";
157 container client-dispatcher {
158 uses config:service-ref {
161 config:required-identity cfg-net:netconf-client-dispatcher;
166 leaf connection-timeout-millis {
167 description "Specifies timeout in milliseconds after which connection must be established.";
172 leaf default-request-timeout-millis {
173 description "Timeout for blocking operations within transactions.";
178 leaf max-connection-attempts {
179 description "Maximum number of connection retries. Non positive value or null is interpreted as infinity.";
181 default 0; // retry forever
184 leaf between-attempts-timeout-millis {
185 description "Initial timeout in milliseconds to wait between connection attempts. Will be multiplied by sleep-factor with every additional attempt";
197 // Keepalive configuration
198 leaf keepalive-delay {
201 description "Netconf connector sends keepalive RPCs while the session is idle, this delay specifies the delay between keepalive RPC in seconds
202 If a value less than 1 is provided, no keepalives will be sent";
205 container keepalive-executor {
206 uses config:service-ref {
209 config:required-identity th:scheduled-threadpool;
216 description "Dedicated solely to keepalive execution";
219 container yang-library {
220 leaf yang-library-url {
223 description "Yang library to be plugged as additional source provider into the shared schema repository";
226 // credentials for basic http authentication for get request for yanglib data