Added notification benchmark (ntfbenchmark) and rpc benchmark models
[controller.git] / benchmark / api / src / main / yang / rpcbench-payload.yang
diff --git a/benchmark/api/src/main/yang/rpcbench-payload.yang b/benchmark/api/src/main/yang/rpcbench-payload.yang
new file mode 100644 (file)
index 0000000..a054908
--- /dev/null
@@ -0,0 +1,64 @@
+module rpcbench-payload {
+    yang-version 1;
+    namespace "rpcbench-payload";
+    prefix "rpcb";
+
+    import yang-ext { prefix ext; revision-date "2013-07-09"; }
+
+    revision "2015-07-02" {
+        description "Initial revision of rpcbenchmark model";
+    }
+
+    identity node-context {
+        description "Identity used to mark node context for Routed RPCs (determines the type of routing)";
+    }
+
+    grouping payload {
+        list payload {
+            description
+                "The input and output payload for the RPC Benchmark's Global RPC Server (a list of integers)";
+            key id;
+            leaf id {
+                type int32;
+            }
+        }
+    }
+
+    rpc global-rpc-bench {
+        description
+          "Interface to the RPC Benchmark's Global RPC Server. In each RPC call, the input is copied on the output";
+        input {
+            uses payload;
+        }
+        output {
+            uses payload;
+        }
+    }
+
+    rpc routed-rpc-bench {
+        description
+            "Interface to RPC Benchmark's Routed RPC Servers. In each RPC call, the input is copied on the output";
+        input {
+            leaf node {
+                ext:context-reference "node-context";
+                type "instance-identifier";
+            }
+            uses payload;
+        }
+        output {
+            uses payload;
+        }
+    }
+
+    container rpcbench-rpc-routes {
+        list rpc-route {
+            description
+                "Routed RPC server context instances (i.e. instances to which RPC calls are routed)";
+            key id;
+            ext:context-instance "node-context";
+            leaf id {
+                type string;
+            }
+        }
+    }
+}