AETHER-2464, AETHER-2467 Make DG Qos Mandatoy; Add allow-internet boolean
Change-Id: I5ee6e8b384aa062b73aad7774ce072f3e9379ae5
diff --git a/config-models/aether-4.x/CHANGELOG.md b/config-models/aether-4.x/CHANGELOG.md
index 35837db..e1faf9e 100644
--- a/config-models/aether-4.x/CHANGELOG.md
+++ b/config-models/aether-4.x/CHANGELOG.md
@@ -3,6 +3,22 @@
SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
-->
+
+Changes on 10/19/2021
+=====================
+
+Device-Group:
+ * Device.MBR and Device.Traffic-Class set to mandatory
+
+VCS:
+ * Add Allow-Internet boolean
+ * Restricted application filter priority to 0-200.
+ * Remove link to template
+
+Template:
+ * Add Allow-Internet boolean
+ * Remove Traffic-Class and Device.MBR
+
Changes on 10/13/2021
=====================
Application
diff --git a/config-models/aether-4.x/Chart.yaml b/config-models/aether-4.x/Chart.yaml
index bc19caf..c91af0b 100644
--- a/config-models/aether-4.x/Chart.yaml
+++ b/config-models/aether-4.x/Chart.yaml
@@ -4,7 +4,7 @@
apiVersion: v2
name: config-model-aether-4
-version: 4.0.8
+version: 4.0.9
kubeVersion: ">=1.18.0"
appVersion: 4.0.0
description: Aether config model
diff --git a/config-models/aether-4.x/files/aether-4.0.0.tree b/config-models/aether-4.x/files/aether-4.0.0.tree
index aa70bc5..651820d 100644
--- a/config-models/aether-4.x/files/aether-4.0.0.tree
+++ b/config-models/aether-4.x/files/aether-4.0.0.tree
@@ -40,9 +40,9 @@
+--rw ip-domain? -> /ipd:ip-domain/ip-domain/id
+--rw device
| +--rw mbr
- | | +--rw uplink? at:bitrate
- | | +--rw downlink? at:bitrate
- | +--rw traffic-class? -> /tc:traffic-class/traffic-class/id
+ | | +--rw uplink at:bitrate
+ | | +--rw downlink at:bitrate
+ | +--rw traffic-class -> /tc:traffic-class/traffic-class/id
+--rw site -> /st:site/site/id
module: onf-enterprise
@@ -97,20 +97,16 @@
module: onf-template
+--rw template
+--rw template* [id]
- +--rw id template-id
- +--rw display-name? string
- +--rw sst? at:sst
- +--rw sd? at:sd
- +--rw device
- | +--rw mbr
- | +--rw uplink? at:bitrate
- | +--rw downlink? at:bitrate
+ +--rw id template-id
+ +--rw display-name? string
+ +--rw sst? at:sst
+ +--rw sd? at:sd
+--rw slice
| +--rw mbr
| +--rw uplink? at:bitrate
| +--rw downlink? at:bitrate
- +--rw traffic-class? -> /tc:traffic-class/traffic-class/id
- +--rw description? at:description
+ +--rw default-behavior at:behavior
+ +--rw description? at:description
module: onf-traffic-class
+--rw traffic-class
@@ -138,27 +134,22 @@
module: onf-vcs
+--rw vcs
+--rw vcs* [id]
- +--rw id vcs-id
- +--rw display-name? string
+ +--rw id vcs-id
+ +--rw display-name? string
+--rw device-group* [device-group]
| +--rw device-group -> /dg:device-group/device-group/id
| +--rw enable? boolean
- +--rw template? -> /vt:template/template/id
+ +--rw default-behavior at:behavior
+--rw filter* [application]
| +--rw application -> /app:application/application/id
- | +--rw priority? uint8
+ | +--rw priority? at:priority
| +--rw allow? boolean
- +--rw upf? -> /upf:upf/upf/id
- +--rw description? at:description
- +--rw enterprise -> /ent:enterprise/enterprise/id
- +--rw sst at:sst
- +--rw sd at:sd
- +--rw device
- | +--rw mbr
- | +--rw uplink? at:bitrate
- | +--rw downlink? at:bitrate
+ +--rw upf? -> /upf:upf/upf/id
+ +--rw description? at:description
+ +--rw enterprise -> /ent:enterprise/enterprise/id
+ +--rw sst at:sst
+ +--rw sd at:sd
+--rw slice
- | +--rw mbr
- | +--rw uplink? at:bitrate
- | +--rw downlink? at:bitrate
- +--rw traffic-class -> /tc:traffic-class/traffic-class/id
+ +--rw mbr
+ +--rw uplink? at:bitrate
+ +--rw downlink? at:bitrate
diff --git a/config-models/aether-4.x/files/yang/onf-aether-types.yang b/config-models/aether-4.x/files/yang/onf-aether-types.yang
index 07b526e..bbf3a5e 100755
--- a/config-models/aether-4.x/files/yang/onf-aether-types.yang
+++ b/config-models/aether-4.x/files/yang/onf-aether-types.yang
@@ -87,7 +87,14 @@
type uint16 {
range 0..1000;
}
- }
+ }
+
+ typedef priority {
+ type uint8 {
+ // priorities 201-255 are reserved for system use
+ range 0..200;
+ }
+ }
// "TCP" or "UDP"
typedef protocol {
@@ -105,7 +112,14 @@
pattern "ENABLE|MAINTENANCE|DISABLE";
}
default "ENABLE";
- }
+ }
+
+ typedef behavior {
+ type string {
+ length 0..20;
+ pattern "DENY-ALL|ALLOW-ALL|ALLOW-PUBLIC";
+ }
+ }
typedef mtu {
type inet:port-number;
diff --git a/config-models/aether-4.x/files/yang/onf-device-group.yang b/config-models/aether-4.x/files/yang/onf-device-group.yang
index 36079e0..6dca9a3 100755
--- a/config-models/aether-4.x/files/yang/onf-device-group.yang
+++ b/config-models/aether-4.x/files/yang/onf-device-group.yang
@@ -95,12 +95,14 @@
type at:bitrate;
units bps;
description "Per-device mbr uplink data rate in mbps";
+ mandatory true;
}
leaf downlink {
type at:bitrate;
units bps;
description "Per-device mbr downlink data rate in mbps";
+ mandatory true;
}
}
leaf traffic-class {
@@ -109,6 +111,7 @@
}
description
"Link to traffic class";
+ mandatory true;
}
}
@@ -116,9 +119,9 @@
type leafref {
path "/st:site/st:site/st:id";
}
- mandatory true;
description
"Link to site";
+ mandatory true;
}
}
}
diff --git a/config-models/aether-4.x/files/yang/onf-template.yang b/config-models/aether-4.x/files/yang/onf-template.yang
index 7d05600..0ab16a3 100755
--- a/config-models/aether-4.x/files/yang/onf-template.yang
+++ b/config-models/aether-4.x/files/yang/onf-template.yang
@@ -8,7 +8,6 @@
import ietf-yang-types{ prefix yg; }
import onf-aether-types{ prefix at; }
- import onf-traffic-class{ prefix tc; }
organization "Open Networking Foundation.";
contact "Scott Baker";
@@ -17,7 +16,7 @@
by a virtual connectivity service. Templates are used to
populate a VCS.";
- revision "2021-06-02" {
+ revision "2021-09-10" {
description "An Aether Virtual Cellular Service Template";
reference "RFC 6087";
}
@@ -58,24 +57,6 @@
description "Slice differentiator";
}
- container device {
- description "Per-device QOS Settings";
- container mbr {
- description "Maximum bitrate";
- leaf uplink {
- type at:bitrate;
- units bps;
- description "Per-device mbr uplink data rate in mbps";
- }
-
- leaf downlink {
- type at:bitrate;
- units bps;
- description "Per-device mbr downlink data rate in mbps";
- }
- }
- }
-
container slice {
description "Per-Slice QOS Settings";
container mbr {
@@ -92,15 +73,14 @@
description "Per-Slice mbr downlink data rate in mbps";
}
}
- }
+ }
- leaf traffic-class {
- type leafref {
- path "/tc:traffic-class/tc:traffic-class/tc:id";
- }
+ leaf default-behavior {
+ type at:behavior;
+ mandatory true;
description
- "Link to traffic class";
- }
+ "Default behavior if no filter rules match";
+ }
leaf description {
type at:description;
diff --git a/config-models/aether-4.x/files/yang/onf-vcs.yang b/config-models/aether-4.x/files/yang/onf-vcs.yang
index 183d6f6..7373d1b 100755
--- a/config-models/aether-4.x/files/yang/onf-vcs.yang
+++ b/config-models/aether-4.x/files/yang/onf-vcs.yang
@@ -12,7 +12,6 @@
import onf-device-group{ prefix dg; }
import onf-enterprise{ prefix ent; }
import onf-template{ prefix vt; }
- import onf-traffic-class{ prefix tc; }
import onf-upf { prefix upf; }
organization "Open Networking Foundation.";
@@ -72,13 +71,11 @@
the VCS if the enable field is set to True";
}
- leaf template {
- type leafref {
- path "/vt:template/vt:template/vt:id";
- }
+ leaf default-behavior {
+ type at:behavior;
+ mandatory true;
description
- "Link to user vcs template that was used to initialize
- this VCS";
+ "Default behavior if no filter rules match";
}
list filter {
@@ -92,7 +89,7 @@
"Link to application";
}
leaf priority {
- type uint8;
+ type at:priority;
default 0;
description
"Priority of this application";
@@ -144,26 +141,6 @@
description "Slice differentiator. Immutable.";
}
- // This is deprecated. Per-device QOS is moving
- // to DG.
- container device {
- description "Per-device QOS Settings";
- container mbr {
- description "Maximum bitrate";
- leaf uplink {
- type at:bitrate;
- units bps;
- description "Per-device mbr uplink data rate in mbps";
- }
-
- leaf downlink {
- type at:bitrate;
- units bps;
- description "Per-device mbr downlink data rate in mbps";
- }
- }
- }
-
container slice {
description "Per-Slice QOS Settings";
container mbr {
@@ -182,14 +159,6 @@
}
}
- leaf traffic-class {
- type leafref {
- path "/tc:traffic-class/tc:traffic-class/tc:id";
- }
- mandatory true;
- description
- "Link to traffic class";
- }
// end of items populated from the template
}
}