Bump versions by 0.1.0 for next dev cycle
[vpnservice.git] / itm / itm-api / src / main / yang / itm-rpc.yang
index 69e1ea9bd8e8111ca46a19f7117f02ea7656b48d..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 {
@@ -23,7 +23,7 @@ module itm-rpc {
     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";
     }
@@ -39,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 {
@@ -47,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 {
@@ -81,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 {
@@ -93,7 +125,7 @@ module itm-rpc {
             }
             }
         }
-     }
+    }
     rpc remove-external-tunnel-from-dpns {
         description "used for building tunnels between a Dpn and external node";
         input {
@@ -111,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 {
@@ -129,7 +161,7 @@ module itm-rpc {
          description  "used for programming the terminating service actions";
          input {
              leaf dpn-id {
-               type uint64;  
+               type uint64;
              }
              leaf service-id {
                 type uint16;
@@ -138,16 +170,74 @@ module itm-rpc {
          }
      }
 
-     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 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;
+            }
+        }
+    }
 
-}
\ No newline at end of file
+    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;
+                }
+            }
+        }
+}