| // SPDX-FileCopyrightText: 2021 Open Networking Foundation |
| // |
| // SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0 |
| |
| submodule onf-priority-traffic-rule { |
| belongs-to onf-enterprise { prefix ent; } |
| |
| import ietf-yang-types{ prefix yg; } |
| import onf-aether-types{ prefix at; } |
| include onf-device; |
| include onf-traffic-class; |
| include onf-application; |
| |
| organization "Open Networking Foundation."; |
| contact "Scott Baker"; |
| description |
| "The aether traffic class associates qos constants |
| with a named class of service"; |
| |
| revision "2022-01-19" { |
| description "An Aether Priority Traffic Rule"; |
| reference "RFC 6087"; |
| } |
| |
| typedef priority-traffic-rule-id { |
| type yg:yang-identifier { |
| length 1..32; |
| } |
| description "The typedef for priority traffic rule id"; |
| } |
| |
| grouping priority-traffic-rule { |
| description "The top level container"; |
| |
| list priority-traffic-rule { |
| key "priority-traffic-rule-id"; |
| unique "device endpoint"; |
| description |
| "List of priority traffic rules"; |
| |
| leaf priority-traffic-rule-id { |
| type priority-traffic-rule-id; |
| description "ID for this priority traffic class."; |
| } |
| |
| uses at:desc-display-name; |
| |
| leaf device { |
| type leafref { |
| path "../../../device/device-id"; |
| } |
| mandatory true; |
| description |
| "Link to device"; |
| } |
| |
| leaf application { |
| type leafref { |
| path "../../../../application/application-id"; |
| } |
| mandatory true; |
| description |
| "Link to application"; |
| } |
| |
| leaf endpoint { |
| type leafref { |
| path "../../../../application/endpoint/endpoint-id"; |
| } |
| mandatory true; |
| description |
| "Link to endpoint in application"; |
| } |
| |
| choice bitrate { |
| description "Either an GBR or an MBR can be specified, but not both"; |
| case mbr-case { |
| container mbr { |
| description "Per-Device per-Application MBR (Maximum BitRate) in bps"; |
| uses bitrate; |
| } |
| } |
| case gbr-case { |
| container gbr { |
| description "Per-Device per-Application GBR (Guaranteed BitRate) in bps"; |
| uses bitrate; |
| } |
| } |
| } |
| |
| leaf traffic-class { |
| type leafref { |
| path "../../../../traffic-class/traffic-class-id"; |
| } |
| description |
| "Link to traffic class"; |
| } |
| } |
| } |
| |
| grouping bitrate { |
| description "uplink and downlink leafs for GBR and MBR"; |
| leaf uplink { |
| type at:bitrate; |
| units bps; |
| description "Per-Device per-Application uplink data rate in bps"; |
| } |
| |
| leaf downlink { |
| type at:bitrate; |
| units bps; |
| description "Per-Device per application downlink data rate in bps"; |
| } |
| } |
| } |