Implementation for enabling remote rpc calls between 2 instances of md-sal
[controller.git] / opendaylight / md-sal / sal-remoterpc-connector / implementation / src / main / yang / odl-sal-dom-rpc-remote-cfg.yang
diff --git a/opendaylight/md-sal/sal-remoterpc-connector/implementation/src/main/yang/odl-sal-dom-rpc-remote-cfg.yang b/opendaylight/md-sal/sal-remoterpc-connector/implementation/src/main/yang/odl-sal-dom-rpc-remote-cfg.yang
new file mode 100644 (file)
index 0000000..d20efe5
--- /dev/null
@@ -0,0 +1,52 @@
+module odl-sal-dom-rpc-remote-cfg {
+       yang-version 1;
+    namespace "urn:opendaylight:params:xml:ns:yang:controller:md:sal:remote:rpc";
+    prefix "rpc-cluster";
+
+    import config { prefix config; revision-date 2013-04-05; }
+    import opendaylight-md-sal-dom {prefix dom;}
+    
+    description
+        "Service definition for Binding Aware MD-SAL.";
+    revision "2013-10-28" {
+        description
+            "Initial revision";
+    }
+
+    identity remote-rpc-server {
+        base config:service-type;
+        config:java-class "org.opendaylight.controller.sal.connector.remoterpc.RemoteRpcServer";
+    }
+
+    identity remote-rpc-client {
+        base config:service-type;
+        config:java-class "org.opendaylight.controller.sal.connector.remoterpc.RemoteRpcClient";
+    }
+
+    identity remote-zeromq-rpc-server {
+        base config:module-type;
+        config:provided-service remote-rpc-server;
+        config:provided-service remote-rpc-client;
+        config:java-name-prefix ZeroMQServer;
+    }
+
+    augment "/config:modules/config:module/config:configuration" {
+        case remote-zeromq-rpc-server {
+            when "/config:modules/config:module/config:type = 'remote-zeromq-rpc-server'";
+            
+            container dom-broker {
+                uses config:service-ref {
+                    refine type {
+                        mandatory true;
+                        config:required-identity dom:dom-broker-osgi-registry;
+                    }
+                }
+            }
+            
+            leaf port {
+                type uint16;
+            }
+        }
+    }
+}
\ No newline at end of file