Bug 7757 -Removing qos deprecations in carbon
[ovsdb.git] / southbound / southbound-api / src / main / yang / ovsdb.yang
index d303a2b30284a460011e59d73aec5be919fa433e..0cfd6ff885c9d5166e84aa428fab63aeea18a24b 100755 (executable)
@@ -5,7 +5,7 @@ module ovsdb {
 
     import network-topology {prefix "topo"; revision-date "2013-10-21"; }
     import yang-ext { prefix "ext"; }
-    import ietf-inet-types { prefix inet; revision-date 2010-09-24; }
+    import ietf-inet-types { prefix inet; revision-date 2013-07-15; }
     import overlay { prefix overlay; }
     import ietf-yang-types { prefix yang; revision-date "2013-07-15";}
     import opendaylight-l2-types { prefix ethertype; revision-date "2013-08-27";}
@@ -34,6 +34,16 @@ module ovsdb {
         type instance-identifier;
     }
 
+    typedef ovsdb-qos-ref {
+        description "A reference to a ovsdb QoS entry";
+        type instance-identifier;
+    }
+
+    typedef ovsdb-queue-ref {
+        description "A reference to an ovsdb queue entry";
+        type instance-identifier;
+    }
+
     typedef ovsdb-bridge-name {
         type string;
     }
@@ -157,6 +167,21 @@ module ovsdb {
             leaf is-connected {
                 type boolean;
             }
+            leaf max_backoff {
+                description
+                    "Maximum  number  of  milliseconds  to  wait between
+                connection attempts";
+                type uint32 {
+                    range "1000..max";
+                }
+            }
+            leaf inactivity_probe {
+                description
+                    "Maximum number of milliseconds of idle time on connection
+                to controller before sending an inactivity probe message.
+                A value of 0 disables inactivity probes.";
+                type uint32;
+            }
 
         }
 
@@ -189,6 +214,13 @@ module ovsdb {
             type ovsdb-node-ref;
         }
 
+        leaf stp_enable {
+            description
+                "Enable spanning tree on the bridge. By default, STP is
+                 disabled on bridges";
+            type boolean;
+        }
+
         list bridge-external-ids {
             description
                "Key-value pairs for use by external frameworks that integrate
@@ -514,10 +546,11 @@ module ovsdb {
                     type uint32;
                 }
 
-                leaf queue-uuid {
-                    description "The unique identifier of the queue record.";
-                    type yang:uuid;
+                leaf queue-ref {
+                    description "Instance identifier to a Queue in the MD-SAL.";
+                    type ovsdb-queue-ref;
                 }
+
             }
             list qos-external-ids {
                 key "qos-external-id-key";
@@ -786,6 +819,26 @@ module ovsdb {
         base qos-type-base;
     }
 
+    identity qos-type-linux-sfq {
+        description "linux stochastic fairness queueing classifier";
+        base qos-type-base;
+    }
+
+    identity qos-type-linux-codel {
+        description "linux controlled delay classifier";
+        base qos-type-base;
+    }
+
+    identity qos-type-linux-fq-codel {
+        description "linux fair queueing controlled delay classifier";
+        base qos-type-base;
+    }
+
+    identity qos-type-egress-policer {
+        description "DPDK user space egress policer";
+        base qos-type-base;
+    }
+
     grouping ovsdb-port-interface-attributes {
         leaf port-uuid {
             description "The unique identifier of the OVSDB port";
@@ -802,6 +855,14 @@ module ovsdb {
             type string;
         }
 
+        leaf ifindex {
+            description "The ifindex is useful for seamless integration with protocols such as SNMP and sFlow.
+                It is a positive interface index as defined for SNMP MIB-II in RFCs 1213 and 2863 if the interface
+                has one, otherwise 0. It is a read-only column and an integer in the range 0 to 4,294,967,295";
+            type uint32;
+            config false;
+        }
+
         leaf interface-type {
             description "The type of the OVSDB interface";
             type identityref {
@@ -1237,9 +1298,35 @@ module ovsdb {
             }
         }
 
-        leaf qos {
-            description "The unique identifier of the QoS entry for this port.";
-            type yang:uuid;
+        list qos-entry {
+            key "qos-key";
+            max-elements 1;
+            leaf qos-key {
+                description "Fixed key to reference the QoS entry in MD-SAL.";
+                type uint32 {
+                    range "1..1";
+                }
+                mandatory true;
+            }
+            leaf qos-ref {
+                description "Instance identifier of a QoS entry in the MD-SAL.";
+                type ovsdb-qos-ref;
+                mandatory true;
+            }
+        }
+
+        leaf ingress-policing-rate {
+            description "Maximum rate for data received on this interface in kbps.
+                Data received faster than this rate is dropped.  Set to 0 (default)
+                to disable policing";
+            type uint32;
+        }
+
+        leaf ingress-policing-burst {
+            description "Maximum burst size for data received on this interface in kb.
+                The default burst size if set to 0 is 1000 kb.  This value has no
+                effect if ingress-policing-rate is 0.";
+            type uint32;
         }
     }