All Downloads are FREE. Search and download functionalities are using the official Maven repository.

[email protected] Maven / Gradle / Ivy

There is a newer version: 0.16.4
Show newest version
/*
 * Copyright (c) 2016 Intel Corporation.  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 {

    yang-version 1;

    namespace "urn:opendaylight:neutron-qos";

    prefix neutron-qos;

    import ietf-yang-types { prefix "yang"; revision-date "2013-07-15"; }
    import neutron-attrs { prefix "attrs"; }
    import neutron-constants { prefix "constants"; }

    organization "OpenDaylight Neutron Group";

    contact "Pramod Raghavendra Jayathirth ";

    description "This YANG module defines qos attributes that are used
        by OpenDaylight Neutron YANG module.";

    revision "2016-06-13" {
        description
                "OpenDaylight Boron release";
    }

    grouping qos-policy-attributes {
        leaf shared {
            type boolean;
            description "Whether the policy is shared or not";
        }
    }

    grouping qos-rule-type {
        leaf rule-type {
            type string;
            description "The type of the qos rule";
        }
    }

    grouping bandwidthlimit-rule-attributes {
        leaf max-kbps {
            type uint64;
            description "The maximum KBPS value";
        }
        leaf max-burst-kbps {
            type uint64;
            description "The burst over the maximum KBPS value";
        }
        leaf direction {
            type identityref {
                base "constants:direction-base";
            }
            description "The traffic direction";
        }
    }

    grouping dscpmarking-rule-attributes {
        leaf dscp-mark {
            type uint8 {
                range "0 | 8 | 10 | 12 | 14 | 16 | 18 | 20 | 22 | 24 | 26 | 28 | 30 | 32 | 34 | 36
                | 38 | 40 | 46 | 48 | 56";
            }
            description "the value of dscp mark";
        }
    }

    grouping minimumbandwidth-rule-attributes {
        leaf min-kbps {
            type uint64;
            description "The minimum KBPS value";
        }
        leaf direction {
            type identityref {
                base "constants:direction-base";
            }
            description "The traffic direction";
        }
    }

    grouping qos-attributes {
        container qos-policies {
            list qos-policy {
                key "uuid";
                uses attrs:base-attributes;
                uses qos-policy-attributes;
                list bandwidth-limit-rules {
                    key "uuid";
                    uses attrs:id-attributes;
                    uses bandwidthlimit-rule-attributes;
                }
                list dscpmarking-rules {
                    key "uuid";
                    uses attrs:id-attributes;
                    uses dscpmarking-rule-attributes;
                }
                list minimumbandwidth-rules {
                    key "uuid";
                    uses attrs:id-attributes;
                    uses minimumbandwidth-rule-attributes;
                }
            }
        }
        container qos-rule-types {
            config false;
            list rule-types {
                key "rule-type";
                uses qos-rule-type;
            }
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy