Bug 8473: Reboot fixes for ECMP with extra-routes
[netvirt.git] / vpnservice / fibmanager / fibmanager-api / src / main / yang / odl-fib.yang
index d5219e1a2740a1616647c1d6525ae5cb17434730..d75be2603556201d8fa417d58fa59144fd256ed3 100644 (file)
@@ -23,7 +23,6 @@ module odl-fib {
             }
             leaf mac {
                type string;
-               mandatory false;
             }
             leaf origin {
                 type string;
@@ -144,10 +143,78 @@ module odl-fib {
                 leaf dest-prefix {
                     type string;
                 }
-                leaf-list rds {
-                   type string;
+                list allocated-rds {
+                    key nexthop;
+                    leaf nexthop {
+                        type string;
+                        description "Ip address of the VM which is the nexthop for the extra route";
+                    }
+                    leaf rd {type string;}
                 }
             }
         }
    }
+
+   container ip-prefix-map {
+        description "Stores information about a parent vpn and prefix in that parent vpn,
+                    along with what other vpn-instances import the parent vpn";
+        config false;
+        list ip-prefix-info {
+            key "prefix parent-primary-rd";
+            leaf prefix {
+                type string;
+            }
+            leaf parent-primary-rd {
+                type string;
+            }
+            leaf dpn-id {
+                type uint64;
+            }
+            leaf-list vpn-instance-list {
+                type string;
+            }
+            leaf parent-vpnid {
+                type uint32;
+            }
+            leaf vpn-interface-name {
+                type string;
+            }
+            leaf elan-tag {
+                type uint32;
+            }
+            leaf is-subnet-route {
+                type boolean;
+            }
+            leaf encap-type {
+                type enumeration {
+                    enum mplsgre {
+                        value "0";
+                    }
+                    enum vxlan {
+                        value "1";
+                    }
+                }
+                default "mplsgre";
+            }
+            leaf l3vni {
+                type uint32;
+            }
+            leaf l2vni {
+                 type uint32;
+            }
+            list route-paths {
+                 key "nexthop-address";
+                 leaf nexthop-address {
+                      type string;
+                 }
+                 leaf label {
+                      type uint32;
+                 }
+                 leaf gateway_mac_address {
+                      type string;
+                 }
+            }
+        }
+   }
+
 }