Adds the "Quality of Service" to the OpenDayLight Neutron
[neutron.git] / model / src / main / yang / neutron-qos-ext.yang
diff --git a/model/src/main/yang/neutron-qos-ext.yang b/model/src/main/yang/neutron-qos-ext.yang
new file mode 100644 (file)
index 0000000..016f1a8
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2016 Intel Corporation, Inc. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+module neutron-qos-ext {
+    // This model augments the network and port yang model for Qos.
+    // In order to do that it is required to import neutron.yang.
+    // Neutron model can't be imported in neutron-qos.yang as neutron-qos.yang
+    // itself is imported in neutron.yang. Due to do this reason a seperate file is
+    // created for augmentation.
+
+    yang-version 1;
+
+    namespace "urn:opendaylight:neutron-qos-ext";
+
+    prefix neutron-qos-ext;
+
+    import neutron { prefix "neutron"; }
+    import yang-ext { prefix "ext"; }
+    import ietf-yang-types { prefix "yang"; revision-date "2013-07-15"; }
+
+    organization "OpenDaylight Neutron Group";
+
+    contact "Pramod Raghavendra Jayathirth <pramod.rj07@gmail.com>";
+
+    description "This YANG module defines Openstack Neutron Qos provider extensions model";
+
+    revision "2016-06-13" {
+        description
+                "OpenDaylight Boron release";
+    }
+
+    augment "/neutron:neutron/neutron:networks/neutron:network" {
+        description "This module augments the networks container
+            in the neutron-networks module with qos information";
+        // ext:augment-identifier value needs to unique as name of the generated classes
+        // is derived from this string
+        ext:augment-identifier "qos-network-extension";
+        leaf qos-policy-id {
+            description "The Networks to which the Qos Policies can be applied";
+            type yang:uuid;
+        }
+    }
+
+    augment "/neutron:neutron/neutron:ports/neutron:port" {
+        description "This module augments the ports container
+            in the neutron-ports module with qos information";
+        // ext:augment-identifier value needs to unique as name of the generated classes
+        // is derived from this string
+        ext:augment-identifier "qos-port-extension";
+        leaf qos-policy-id {
+            description "The ports to which the Qos Policies can be applied";
+            type yang:uuid;
+        }
+    }
+}