blob: d8eb9d19abe86f573435fb147173ffed6f1ff2ad [file] [log] [blame]
// SPDX-FileCopyrightText: 2021 Open Networking Foundation
//
// SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
submodule onf-application {
belongs-to onf-enterprise { prefix ent; }
import ietf-inet-types{ prefix ietf; }
import ietf-yang-types{ prefix yg; }
import onf-aether-types{ prefix at; }
include onf-traffic-class;
organization "Open Networking Foundation.";
contact "Scott Baker";
description
"An Aether Application is an application that devices may
connect to. Includes a set of endpoints where services are
provided.";
revision "2022-01-14" {
description "Refactored as submodule";
reference "RFC 6020";
}
revision "2021-09-10" {
description "Aether Application.";
reference "RFC 6087";
}
typedef application-id {
type yg:yang-identifier {
length 1..32;
}
description "The typedef for application-id";
}
grouping application {
description "The application grouping";
list application {
key "application-id";
description
"List of applications";
leaf application-id {
type application-id;
description "ID for this application.";
}
uses at:desc-display-name;
leaf address {
type at:host-or-network;
mandatory true;
description
"Address of this application. Either a hostname, an IP, or a subnet.";
}
list endpoint {
key "endpoint-id";
leaf endpoint-id {
type yg:yang-identifier;
description
"Id of this endpoint";
}
uses at:desc-display-name;
leaf port-start {
type ietf:port-number;
description
"First port in range";
}
leaf port-end {
type ietf:port-number;
description
"Last port in range";
}
leaf protocol {
type at:protocol;
description
"Protocol of this endpoint";
}
container mbr {
description "Maximum bitrate";
leaf uplink {
type at:bitrate;
units bps;
description "Per-Device per-Application MBR uplink data rate in bps";
}
leaf downlink {
type at:bitrate;
units bps;
description "Per-Device per application MBR downlink data rate in bps";
}
}
leaf traffic-class {
type leafref {
path "../../../traffic-class/traffic-class-id";
}
description
"Link to traffic class";
}
description "list for endpoint";
}
}
}
}