Remove illegal characters from yangs
[netvirt.git] / vpnservice / fibmanager / fibmanager-api / src / main / yang / odl-fib.yang
index 7735cc3c0589230511554aa0dd35e32697d5eea2..c12f91518c43a42d126321c6a7b16506eec067c7 100644 (file)
@@ -8,7 +8,7 @@ module odl-fib {
         description "FIB Manager module";
     }
 
-    grouping ipv4Entries{
+    grouping ipv4Entries {
         list ipv4Entry{
             key  "destPrefix";
             leaf destPrefix {type string;}
@@ -16,19 +16,13 @@ module odl-fib {
         }
     }
 
-    grouping vrfEntries{
-        list vrfEntry{
-            key  "destPrefix";
+    grouping vrfEntryBase {
             leaf destPrefix {
                 type string;
                 mandatory true;
             }
-            leaf label {
-                type uint32;
-            }
-            leaf-list nextHopAddressList {
-                type string;
-                min-elements "1";
+            leaf mac {
+               type string;
             }
             leaf origin {
                 type string;
@@ -37,7 +31,7 @@ module odl-fib {
             leaf encap-type {
                description
                   "This flag indicates how to interpret the existing label field.
-                   A value of mplsgre indicates that the label will continue to be considered as an MPLS Label.
+                   A value of mplsgre indicates that the label within route paths will continue to be considered as an MPLS Label.
                    A value of vxlan indicates that l3vni should be used to advertise to bgp and label will be ignored.";
 
                type enumeration {
@@ -47,7 +41,7 @@ module odl-fib {
                   }
                   enum vxlan {
                      value "1";
-                     description VNI";
+                     description "VNI";
                   }
                }
                default "mplsgre";
@@ -59,6 +53,36 @@ module odl-fib {
             leaf gateway_mac_address {
                type string;
             }
+            leaf parent-vpn-rd {
+               description
+                 "If set will get the vpn-to-dpn information from the parent-vpn-rd";
+               type string;
+            }
+            list route-paths {
+                key "nexthop-address";
+                leaf nexthop-address {
+                    type string;
+                }
+                leaf label {
+                    type uint32;
+                }
+            }
+    }
+
+    grouping vrfEntries {
+        list vrfEntry{
+            key  "destPrefix";
+            uses vrfEntryBase;
+        }
+    }
+
+    grouping macVrfEntries {
+        list macVrfEntry {
+            key  "mac";
+            uses vrfEntryBase;
+            leaf l2vni {
+               type uint32;
+            }
         }
     }
 
@@ -80,6 +104,7 @@ module odl-fib {
             key "routeDistinguisher";
             leaf routeDistinguisher {type string;}
             uses vrfEntries;
+            uses macVrfEntries;
         }
 
         container ipv4Table{
@@ -118,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;
+                 }
             }
         }
    }
+
 }