Merge "L2 Gw create changes related to ITM Tunnels creation in neutronvpn module"
[vpnservice.git] / interfacemgr / interfacemgr-api / src / main / yang / odl-interface-rpc.yang
index 88ce5ac664d0590aea4bac7c43a959ee6dd99c13..a6f3874deee92505874a4e790b4747e4081a2ac6 100644 (file)
@@ -66,6 +66,13 @@ module odl-interface-rpc {
         input {
             leaf intf-name {
                 type string;
+                mandatory true;
+            }
+
+            leaf tunnel-key {
+                description "It can be VNI for VxLAN tunnel ifaces, Gre Key for GRE tunnels, etc.";
+                type uint32;
+                mandatory false;
             }
         }
         output {
@@ -78,6 +85,13 @@ module odl-interface-rpc {
         input {
             leaf intf-name {
                 type string;
+                mandatory true;
+            }
+
+            leaf tunnel-key {
+                description "It can be VNI for VxLAN tunnel ifaces, Gre Key for GRE tunnels, etc.";
+                type uint32;
+                mandatory false;
             }
         }
         output {
@@ -115,6 +129,23 @@ module odl-interface-rpc {
         }
     }
 
+    rpc get-tunnel-type {
+    description "to get the type of the tunnel interface(vxlan or gre)";
+        input {
+            leaf intf-name {
+                type string;
+            }
+        }
+        output {
+            leaf tunnel-type {
+                type identityref {
+                    base odlif:tunnel-type-base;
+                }
+            }
+        }
+    }
+
+
     rpc get-nodeconnector-id-from-interface {
     description "to get nodeconnector id associated with an interface";
         input {
@@ -128,4 +159,49 @@ module odl-interface-rpc {
             }
         }
     }
+
+    rpc get-interface-from-if-index {
+        description "to get interface associated with an if-index";
+            input {
+                leaf if-index {
+                    type int32;
+                }
+            }
+            output {
+                leaf interface-name {
+                    type string;
+                }
+            }
+        }
+
+    rpc create-terminating-service-actions {
+    description "create the ingress terminating service table entries";
+        input {
+             leaf dpid {
+                 type uint64;
+             }
+             leaf tunnel-key {
+                 type uint64;
+             }
+             leaf interface-name {
+                 type string;
+             }
+             uses offlow:instruction-list;
+        }
+    }
+
+    rpc remove-terminating-service-actions {
+    description "remove the ingress terminating service table entries";
+        input {
+             leaf dpid {
+                 type uint64;
+             }
+             leaf interface-name {
+                 type string;
+             }
+             leaf tunnel-key {
+                 type uint64;
+             }
+        }
+    }
 }
\ No newline at end of file