--- /dev/null
+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;
+ }
+ }
+ }
+}