Bump versions by 0.1.0 for next dev cycle
[vpnservice.git] / itm / itm-api / src / main / yang / itm-rpc.yang
index 83d520938b44f73f57d4d2895e15d2394d7cdfe4..8136d080643b0b643e39a374b32e4eeb2785f575 100644 (file)
@@ -4,7 +4,7 @@ module itm-rpc {
 
     import ietf-inet-types {
         prefix inet;
-        revision-date "2010-09-24";
+        revision-date "2013-07-15";
     }
 
     import ietf-yang-types {
@@ -19,7 +19,11 @@ module itm-rpc {
         prefix odlif;
         revision-date "2015-03-31";
     }
-    
+
+    import opendaylight-action-types {prefix action;revision-date "2013-11-12";}
+    import opendaylight-flow-types {prefix offlow;revision-date "2013-10-26";}
+
+
     revision "2015-12-17" {
         description "ODL Specific Itm Manager Rpcs Module";
     }
@@ -35,6 +39,11 @@ module itm-rpc {
             leaf destination-dpid {
                  type uint64;
             }
+            leaf tunnel-type {
+                type identityref {
+                    base odlif:tunnel-type-base;
+                }
+            }
         }
         output {
             leaf interface-name {
@@ -43,14 +52,41 @@ module itm-rpc {
         }
     }
 
+    rpc get-internal-or-external-interface-name {
+        description "used to retrieve tunnel interface id with src Dpn and destination ip";
+            input {
+                leaf source-dpid {
+                type uint64;
+                }
+                leaf destination-ip {
+                type inet:ip-address;
+                }
+                leaf tunnel-type {
+                    type identityref {
+                        base odlif:tunnel-type-base;
+                    }
+                }
+            }
+            output {
+                leaf interface-name {
+                    type string;
+                }
+        }
+    }
+
     rpc get-external-tunnel-interface-name {
-        description "used to retrieve tunnel interface id between Dpns";
+        description "used to retrieve external tunnel interface id between Dpns/TORs";
         input {
-            leaf source-dpid {
-            type uint64;
+            leaf source-node {
+            type string;
             }
-            leaf destination-ip {
-            type inet:ip-address;
+            leaf destination-node {
+            type string;
+            }
+            leaf tunnel-type {
+                type identityref {
+                    base odlif:tunnel-type-base;
+                }
             }
         }
         output {
@@ -77,7 +113,7 @@ module itm-rpc {
         }
      }
 
-     rpc add-external-tunnel-endpoint { 
+    rpc add-external-tunnel-endpoint {
         description "used for building tunnels between teps on all Dpns and external node";
         input {
             leaf destination-ip {
@@ -89,7 +125,7 @@ module itm-rpc {
             }
             }
         }
-     }
+    }
     rpc remove-external-tunnel-from-dpns {
         description "used for building tunnels between a Dpn and external node";
         input {
@@ -107,7 +143,7 @@ module itm-rpc {
         }
      }
 
-     rpc remove-external-tunnel-endpoint { 
+     rpc remove-external-tunnel-endpoint {
         description "used for building tunnels between teps on all Dpns and external node";
         input {
             leaf destination-ip {
@@ -120,4 +156,88 @@ module itm-rpc {
             }
         }
      }
-}
\ No newline at end of file
+
+     rpc create-terminating-service-actions {
+         description  "used for programming the terminating service actions";
+         input {
+             leaf dpn-id {
+               type uint64;
+             }
+             leaf service-id {
+                type uint16;
+             }
+             uses offlow:instruction-list;
+         }
+     }
+
+    rpc remove-terminating-service-actions {
+        description  "used for removing the terminating service actions";
+        input {
+            leaf dpn-id {
+                    type uint64;
+            }
+            leaf service-id {
+                type uint16;
+            }
+        }
+    }
+
+    rpc add-l2-gw-device {
+        description "used for building tunnels between teps on all Dpns and hwVtep";
+        input {
+            leaf topology-id {
+                type string;
+            }
+            leaf node-id {
+                type string;
+            }
+            leaf ip-address {
+                type inet:ip-address;
+            }
+        }
+    }
+
+    rpc add-l2-gw-mlag-device {
+            description "used for building tunnels between teps on all Dpns and hwVtep";
+            input {
+                leaf topology-id {
+                    type string;
+                }
+                leaf-list node-id {
+                    type string;
+                }
+                leaf ip-address {
+                    type inet:ip-address;
+                }
+            }
+        }
+    rpc delete-l2-gw-device {
+        description "used for deleting tunnels between teps on all Dpns and hwVtep";
+        input {
+            leaf topology-id {
+                type string;
+            }
+            leaf node-id {
+                type string;
+            }
+            leaf ip-address {
+                type inet:ip-address;
+            }
+        }
+    }
+
+      rpc delete-l2-gw-mlag-device {
+            description "used for deleting tunnels between teps on all Dpns and hwVtep";
+            input {
+                leaf topology-id {
+                    type string;
+                }
+                leaf-list node-id {
+                    type string;
+                }
+                leaf ip-address {
+                    type inet:ip-address;
+                }
+            }
+        }
+}