OPNFLWPLUG-981: per-capability configuration for stats polling
[openflowplugin.git] / openflowplugin-api / src / main / yang / openflow-provider-config.yang
index 2d180acbc0119a6c58feaac77c7848b9f789e8fa..8be0d43b7d3995c042edf65989f31ada759aabe6 100644 (file)
@@ -25,42 +25,99 @@ module openflow-provider-config {
 
     container openflow-provider-config {
         leaf rpc-requests-quota {
-            type uint32;
+            description "Quota for maximum number of RPC requests";
+            type non-zero-uint16-type;
             default 20000;
         }
 
         leaf switch-features-mandatory {
+            description "This parameter indicates whether it is mandatory for
+                switch to support OF1.3 features : table, flow, meter,group. If this
+                is set to true and switch doesn't support these features its
+                connection will be denied.";
             type boolean;
             default false;
         }
 
         leaf global-notification-quota {
+            description "Global notification quota";
             type uint32;
             default 64000;
         }
 
-        leaf is-statistics-polling-off {
+        leaf is-statistics-polling-on {
+            description "If enabled, periodic statistics gathering will be
+                turned on. If false takes precedence over the per-capability configuration.";
             type boolean;
-            default "false";
+            default "true";
+        }
+
+        leaf is-table-statistics-polling-on {
+            description "If enabled, periodic table statistics gathering will be
+                turned on";
+            type boolean;
+            default "true";
+        }
+
+        leaf is-flow-statistics-polling-on {
+            description "If enabled, periodic flow statistics gathering will be
+                turned on";
+            type boolean;
+            default "true";
+        }
+
+        leaf is-group-statistics-polling-on {
+            description "If enabled, periodic group statistics gathering will be
+                turned on";
+            type boolean;
+            default "true";
+        }
+
+        leaf is-meter-statistics-polling-on {
+            description "If enabled, periodic meter statistics gathering will be
+                turned on";
+            type boolean;
+            default "true";
+        }
+
+        leaf is-port-statistics-polling-on {
+            description "If enabled, periodic port statistics gathering will be
+                turned on";
+            type boolean;
+            default "true";
+        }
+
+        leaf is-queue-statistics-polling-on {
+            description "If enabled, periodic queue statistics gathering will be
+                turned on";
+            type boolean;
+            default "true";
         }
 
         leaf is-statistics-rpc-enabled {
-            description "Deprecated - exposing backward compatible statistics rpcs providing result in form of async notification";
+            status deprecated;
+            description "Expose backward compatible statistics rpcs providing
+                result in form of async notification. This is deprecated, use direct
+                statistics instead.";
             type boolean;
             default "false";
         }
 
         leaf barrier-interval-timeout-limit {
+            description "Barrier timeout";
             type non-zero-uint32-type;
             default 500;
         }
 
         leaf barrier-count-limit {
+            description "Barrier limit";
             type non-zero-uint16-type;
             default 25600;
         }
 
         leaf echo-reply-timeout {
+            description "How long we should wait for echo reply (value is in
+                milliseconds";
             type non-zero-uint32-type;
             default 2000;
         }
@@ -78,9 +135,49 @@ module openflow-provider-config {
         }
 
         leaf thread-pool-timeout {
-            description "After how much time (in seconds) of inactivity will be threads in pool terminated";
+            description "After how much time (in seconds) of inactivity will be
+                threads in pool terminated";
             type uint32;
             default 60;
         }
+
+        leaf enable-flow-removed-notification {
+            description "Turning on flow removed notification";
+            type boolean;
+            default "true";
+        }
+
+        leaf skip-table-features {
+            description "Ability to skip pulling and storing of large table
+                features. These features are still available via rpc but if set to
+                true then maintenance in DS will be omitted";
+            type boolean;
+            default "true";
+        }
+
+        leaf basic-timer-delay {
+            description "Initial delay used in polling the statistics, value is
+                in milliseconds";
+            type non-zero-uint32-type;
+            default 3000;
+        }
+
+        leaf maximum-timer-delay {
+            description "Maximum timer delay is the wait time to collect next
+                statistics used in polling the statistics, value is in
+                milliseconds";
+            type non-zero-uint32-type;
+            default 900000;
+        }
+
+        leaf use-single-layer-serialization {
+            description "When true, Yang models are serialized and deserialized
+                directly to and from format supported by device, so serialization
+                and deserialization is faster. Otherwise, models are first
+                serialized to Openflow specification models and then to format
+                supported by device, and reversed when deserializing.";
+            type boolean;
+            default "true";
+        }
     }
-}
\ No newline at end of file
+}