vpnmanager: update vpn instance families based on subnetmap updates only
[netvirt.git] / vpnservice / vpnmanager / vpnmanager-api / src / main / yang / odl-l3vpn.yang
index afaa3724153f6d9fc299b3ef93f289236db53e52..910c0d29216af74e85b4c074fa9ef96e6aab50e0 100644 (file)
@@ -20,10 +20,26 @@ module odl-l3vpn {
             key "ip_address";
             leaf-list next-hop-ip-list { type string; }
             leaf ip_address {type string;}
-            leaf primary-adjacency {
-                type boolean;
-                default false;
-                description "Value of True indicates this is a primary adjacency";
+            leaf adjacency_type {
+                description "The type of adjacency";
+                type enumeration {
+                    enum "primary-adjacency" {
+                        value 1;
+                        description
+                            "Primary adjacency type.";
+                    }
+                    enum "learnt-ip" {
+                        value 2;
+                        description
+                            "Learnt ip adjacency type.";
+                    }
+                    enum "extra-route" {
+                        value 3;
+                        description
+                            "Extra route adjacency type.";
+                    }
+                }
+                default "extra-route";
             }
             leaf label { type uint32; config "false"; } /* optional */
             leaf mac_address {type string;} /* optional */
@@ -72,9 +88,26 @@ module odl-l3vpn {
               leaf subnet-id {
                   type yang:uuid;
               }
-              leaf nat-prefix {
-                  type boolean;
-                  default false;
+              leaf prefix-cue {
+                  type enumeration {
+                      enum none {
+                          value "0";
+                          description "Nothing special";
+                      }
+                      enum nat {
+                          value "1";
+                          description "NAT prefix";
+                      }
+                      enum phys-net-func {
+                          value "2";
+                          description "Physical Network Function(PNF) prefix";
+                      }
+                      enum subnet-route {
+                          value "3";
+                          description "Subnet Route prefix";
+                      }
+                  }
+                  default "none";
               }
            }
         }
@@ -228,6 +261,18 @@ module odl-l3vpn {
                   default "active";
                }
            }
+           leaf ipv4-configured {
+              type boolean;
+              description
+                 "This VPN Instance handles IPv4 traffic";
+              default false;
+           }
+           leaf ipv6-configured {
+              type boolean;
+              description
+                 "This VPN Instance handles IPv6 traffic";
+              default false;
+           }
            leaf type {
               description
                  "The type of the VPN Instance.
@@ -310,6 +355,26 @@ module odl-l3vpn {
                  }
               }
            }
+           leaf vpn-state {
+              description
+                 "Represents a stage in this VpnInstance's lifecycle.";
+              type enumeration {
+                 enum created {
+                    value "0";
+                    description
+                    "VPNInstance is successfully created";
+                 }
+                 enum pending_delete {
+                    value "3";
+                    description
+                    "VpnInstance marked for deletion.";
+                 }
+              }
+              default "created";
+           }
+           leaf-list rd {
+              type string;
+           }
         }
     }
 
@@ -370,6 +435,10 @@ module odl-l3vpn {
                 type task-state;
                 description "The status of the subnet route advertisement/withdrawal";
             }
+            leaf last-adv-state {
+                type task-state;
+                description "The previous status of the subnet route advertisement/withdrawal.";
+            }
             leaf elan-tag {
                 type uint32;
             }