Add VIP support (feature #7188) 20/8920/3
authorTomás Villaseca <tvillaseca@whitestack.com>
Fri, 15 May 2020 05:59:41 +0000 (01:59 -0400)
committerTomás Villaseca <tvillaseca@whitestack.com>
Sat, 16 May 2020 19:10:48 +0000 (15:10 -0400)
Change-Id: Ib8ae2204e96165f6829359d84afb705939e9ec79
Signed-off-by: Tomás Villaseca <tvillaseca@whitestack.com>
augments/vip.yang [new file with mode: 0644]

diff --git a/augments/vip.yang b/augments/vip.yang
new file mode 100644 (file)
index 0000000..1db62eb
--- /dev/null
@@ -0,0 +1,63 @@
+/*
+  Copyright 2020 Whitestack LLC
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+  implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+*/
+
+module vip {
+    yang-version 1.1;
+    namespace "urn:etsi:osm:yang:augments:vip";
+    prefix "vip";
+
+    import etsi-nfv-vnfd {
+        prefix vnfd;
+    }
+
+    grouping extended-vip {
+        list vip {
+            description
+              "Paired interfaces from different VDUs that share a Virtual IP";
+
+            key "name";
+            leaf name {
+                description
+                  "Name of the Virtual IP";
+                type string;
+            }
+
+            list paired-interfaces {
+                key "vdu-id-ref";
+                leaf vdu-id-ref {
+                    description
+                      "Reference to the VDU";
+                    type leafref {
+                        path "/vnfd:vnfd/vnfd:vdu/vnfd:id";
+                    }
+                }
+
+                leaf interface-ref {
+                    description
+                      "Reference to the interface";
+                    type leafref {
+                        path "/vnfd:vnfd/vnfd:vdu/vnfd:int-cpd/vnfd:virtual-network-interface-requirement/vnfd:name";
+                    }
+                }
+            }
+        }
+    }
+
+    augment "/vnfd:vnfd" {
+        uses extended-vip;
+    }
+}
\ No newline at end of file