BUG-4118: Li:backward compatibility - rpcs - initial proposal
[openflowplugin.git] / openflowplugin-impl / src / main / yang / openflow-plugin-impl.yang
index 4a4eafa325d60ab39e2b0ce0e6e678e79a238c6f..aee2d6ccd1d1c776f6a84cf3737094bc152f511e 100644 (file)
@@ -8,7 +8,9 @@ module openflow-plugin-provider-impl {
     import openflow-provider {prefix openflow-provider; revision-date 2015-03-31;}
     import openflow-switch-connection-provider {prefix openflow-switch-connection-provider;revision-date 2014-03-28;}
     import opendaylight-md-sal-binding { prefix md-sal-binding; revision-date 2013-10-28;}
-    import openflow-plugin-types { prefix ofp-types; revision-date 2015-03-27;}
+    import opendaylight-sal-binding-broker-impl { prefix sal-broker; revision-date 2013-10-28;}
+    import openflowplugin-extension-registry {prefix ofp-ext-reg; revision-date 2015-04-25;}
+    import opendaylight-entity-ownership-service { prefix ownership-service; revision-date 2015-08-10;}
 
     description
         "openflow-plugin-impl";
@@ -21,6 +23,7 @@ module openflow-plugin-provider-impl {
     identity openflow-plugin-provider-impl {
         base config:module-type;
         config:provided-service openflow-provider:openflow-provider;
+        config:provided-service ofp-ext-reg:openflow-extension-registry-provider;
         config:java-name-prefix OpenFlowProvider;
     }
 
@@ -28,11 +31,43 @@ module openflow-plugin-provider-impl {
         case openflow-plugin-provider-impl {
             when "/config:modules/config:module/config:type = 'openflow-plugin-provider-impl'";
 
-            container binding-aware-broker {
+            container data-broker {
                 uses config:service-ref {
                     refine type {
                         mandatory true;
-                        config:required-identity md-sal-binding:binding-broker-osgi-registry;
+                        config:required-identity md-sal-binding:binding-async-data-broker;
+                    }
+                }
+            }
+            container rpc-registry {
+                uses config:service-ref {
+                    refine type {
+                        mandatory true;
+                        config:required-identity md-sal-binding:binding-rpc-registry;
+                    }
+                }
+            }
+            container notification-adapter {
+                uses config:service-ref {
+                    refine type {
+                        mandatory true;
+                        config:required-identity sal-broker:binding-new-notification-service;
+                    }
+                }
+            }
+            container notification-publish-adapter {
+                uses config:service-ref {
+                    refine type {
+                        mandatory true;
+                        config:required-identity sal-broker:binding-new-notification-publish-service;
+                    }
+                }
+            }
+            container entity-ownership-service {
+                uses config:service-ref {
+                    refine type {
+                        mandatory true;
+                        config:required-identity ownership-service:entity-ownership-service;
                     }
                 }
             }
@@ -44,14 +79,28 @@ module openflow-plugin-provider-impl {
                     }
                 }
             }
-            leaf role {
-                type ofp-types:ofp-role;
-                default "NOCHANGE";
-            }
             leaf rpc-requests-quota {
                 type uint32;
                 default 500;
             }
+            leaf switch-features-mandatory {
+                type boolean;
+                default false;
+            }
+            leaf global-notification-quota {
+                type uint32;
+                default 131072;
+            }
+            leaf is-statistics-polling-off {
+                type boolean;
+                default "false";
+            }
+            leaf is-statistics-rpc-enabled {
+                status deprecated;
+                description "Exposing backward compatible statistics rpcs providing result in form of async notification";
+                type boolean;
+                default "false";
+            }
         }
 
     }