[AETHER-3138] ROC Umbrella - Upgrading to new onos-config
Change-Id: Iae9131b084ac752f779cd24299052863ebdf5841
diff --git a/Makefile b/Makefile
index 6d9f127..1e858c7 100644
--- a/Makefile
+++ b/Makefile
@@ -7,7 +7,7 @@
all: test
test: # @HELP run the acceptance tests
-test: deps yang-lint
+test: deps
roc-test: # @HELP run the integration tests
roc-test: deps # @HELP run the integration tests
@@ -33,17 +33,5 @@
{printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}; \
'
-pyang:
- pyang -v || pip install pyang
-
-yang-lint: pyang
- pyang --lint ./config-models/aether-1.x/files/yang/*.yang
- pyang --lint --lint-ensure-hyphenated-names -W error ./config-models/aether-2.0.x/files/yang/*.yang -p ./config-models/aether-2.0.x/files/yang
- pyang --lint ./config-models/aether-2.1.x/files/yang/*.yang
- pyang --lint ./config-models/aether-2.2.x/files/yang/*.yang
- pyang --lint ./config-models/aether-3.x/files/yang/*.yang
- pyang --lint --lint-ensure-hyphenated-names -W error ./config-models/aether-4.x/files/yang/*.yang -p ./config-models/aether-4.x/files/yang
- pyang --lint --lint-ensure-hyphenated-names -W error ./config-models/plproxy-1.x/files/yang/*.yang -p ./config-models/plproxy-1.x/files/yang
-
reuse-lint:
- reuse --root . lint
\ No newline at end of file
+ reuse --root . lint
diff --git a/aether-roc-api/Chart.yaml b/aether-roc-api/Chart.yaml
index e47eedc..4e1ca69 100644
--- a/aether-roc-api/Chart.yaml
+++ b/aether-roc-api/Chart.yaml
@@ -7,8 +7,8 @@
description: Aether ROC API
kubeVersion: ">=1.15.0"
type: application
-version: 1.4.7
-appVersion: v0.9.8
+version: 1.4.8
+appVersion: v0.9.9
keywords:
- aether
- config
diff --git a/aether-roc-api/values.yaml b/aether-roc-api/values.yaml
index 3653b61..d2dab6f 100644
--- a/aether-roc-api/values.yaml
+++ b/aether-roc-api/values.yaml
@@ -10,7 +10,7 @@
image:
repository: onosproject/aether-roc-api
- tag: v0.9.8
+ tag: v0.9.9
pullPolicy: IfNotPresent
pullSecrets: []
diff --git a/aether-roc-umbrella/Chart.yaml b/aether-roc-umbrella/Chart.yaml
index 63ddd5e..185527e 100644
--- a/aether-roc-umbrella/Chart.yaml
+++ b/aether-roc-umbrella/Chart.yaml
@@ -7,7 +7,7 @@
description: Aether ROC Umbrella chart to deploy all Aether ROC
kubeVersion: ">=1.18.0"
type: application
-version: 2.0.26
+version: 2.0.27
appVersion: v0.0.0
keywords:
- aether
@@ -20,36 +20,19 @@
- name: onos-topo
condition: import.onos-topo.enabled
repository: https://charts.onosproject.org
- version: 1.1.109
- - name: config-model-aether-2
- condition: onos-config.models.aether.v2.enabled
- repository: "file://../config-models/aether-2.0.x"
- version: 2.0.10
- - name: config-model-aether-4
- condition: onos-config.models.aether.v4.enabled
- repository: "file://../config-models/aether-4.x"
- version: 4.0.18
- - name: config-model-plproxy
- condition: onos-config.models.plproxy.v1.enabled
- repository: "file://../config-models/plproxy-1.x"
- version: 1.0.2
- alias: config-model-plproxy-1-0-0
+ version: 1.2.2
- name: onos-config
condition: import.onos-config.enabled
repository: https://charts.onosproject.org
- version: 1.4.6
- - name: onos-gui
- condition: import.onos-gui.enabled
- repository: https://charts.onosproject.org
- version: 1.0.8
+ version: 1.6.7
- name: onos-cli
condition: import.onos-cli.enabled
repository: https://charts.onosproject.org
- version: 1.1.11
+ version: 1.2.7
- name: aether-roc-api
condition: import.aether-roc-api.enabled
repository: "file://../aether-roc-api"
- version: 1.4.7
+ version: 1.4.8
- name: aether-roc-websocket
condition: import.aether-roc-websocket.enabled
repository: "file://../aether-roc-websocket"
diff --git a/aether-roc-umbrella/files/opa-rbac/aether-2.0.0.rego b/aether-roc-umbrella/files/opa-rbac/aether-2.0.0.rego
index 3f79874..80ea78e 100644
--- a/aether-roc-umbrella/files/opa-rbac/aether-2.0.0.rego
+++ b/aether-roc-umbrella/files/opa-rbac/aether-2.0.0.rego
@@ -2,7 +2,7 @@
#
# SPDX-License-Identifier: Apache-2.0
-package aether_2_0_0
+package aether_2_0_x
echo[config] {
config := input
diff --git a/aether-roc-umbrella/files/opa-rbac/aether-4.0.0.rego b/aether-roc-umbrella/files/opa-rbac/aether-4.0.0.rego
index 27a638f..f17cbcf 100644
--- a/aether-roc-umbrella/files/opa-rbac/aether-4.0.0.rego
+++ b/aether-roc-umbrella/files/opa-rbac/aether-4.0.0.rego
@@ -2,7 +2,7 @@
#
# SPDX-License-Identifier: Apache-2.0
-package aether_4_0_0
+package aether_4_0_18
echo[config] {
config := input
diff --git a/aether-roc-umbrella/templates/topo.yaml b/aether-roc-umbrella/templates/topo.yaml
index 18f393b..717e47a 100644
--- a/aether-roc-umbrella/templates/topo.yaml
+++ b/aether-roc-umbrella/templates/topo.yaml
@@ -23,8 +23,8 @@
aspects:
onos.topo.Configurable:
address: sdcore-adapter-v2:5150
- version: 2.0.0
- type: Aether
+ version: 2.0.x
+ type: aether
onos.topo.Location:
lat: 52.5150
lng: 13.3885
@@ -47,8 +47,8 @@
aspects:
onos.topo.Configurable:
address: sdcore-adapter-v4:5150
- version: 4.0.0
- type: Aether
+ version: 4.0.18
+ type: aether
onos.topo.Location:
lat: 52.5150
lng: 13.3885
diff --git a/aether-roc-umbrella/values.yaml b/aether-roc-umbrella/values.yaml
index bd4d9f0..abac6b5 100644
--- a/aether-roc-umbrella/values.yaml
+++ b/aether-roc-umbrella/values.yaml
@@ -35,8 +35,6 @@
enabled: true
onos-config:
enabled: true
- onos-gui:
- enabled: false
onos-cli:
enabled: true
aether-roc-api:
@@ -214,7 +212,7 @@
username_claim: name
email_claim: email
jwk_set_url: "https://keycloak.opennetworking.org/auth/realms/master/protocol/openid-connect/certs"
- cache_ttl: 60m
+ cache_ttl: 60m
auth.generic_oauth:
enabled: true
client_id: aether-roc-gui
@@ -310,7 +308,7 @@
static_configs:
- targets:
- demo-exporter:2112
-
+
prometheus-ace:
pushgateway:
enabled: false
@@ -346,17 +344,19 @@
store:
consensus:
enabled: false
- models:
- aether:
- v2:
- enabled: true
- v4:
- enabled: true
- plproxy:
- v1:
- enabled: true
+ modelPlugins:
+ - name: aether-2
+ image: onosproject/aether-2.0.x:2.0.0-dev-aether-2.0.x
+ endpoint: localhost
+ port: 5152
+ - name: aether-4
+ image: onosproject/aether-4.x:4.0.19-dev-aether-4.0.18
+ endpoint: localhost
+ port: 5153
+
plugin:
compiler:
+ version: v1.0.1
target: ""
openpolicyagent:
enabled: true
diff --git a/config-models/aether-1.x/.helmignore b/config-models/aether-1.x/.helmignore
deleted file mode 100644
index 862263b..0000000
--- a/config-models/aether-1.x/.helmignore
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-FileCopyrightText: 2021 Open Networking Foundation
-#
-# SPDX-License-Identifier: Apache-2.0
-
-# Patterns to ignore when building packages.
-# This supports shell glob matching, relative path matching, and
-# negation (prefixed with !). Only one pattern per line.
-.DS_Store
-# Common VCS dirs
-.git/
-.gitignore
-.bzr/
-.bzrignore
-.hg/
-.hgignore
-.svn/
-# Common backup files
-*.swp
-*.bak
-*.tmp
-*~
-# Various IDEs
-.project
-.idea/
-*.tmproj
diff --git a/config-models/aether-1.x/Chart.yaml b/config-models/aether-1.x/Chart.yaml
deleted file mode 100644
index 71ab3d5..0000000
--- a/config-models/aether-1.x/Chart.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: v2
-name: config-model-aether
-version: 1.0.6
-kubeVersion: ">=1.18.0"
-appVersion: 1.0.0
-description: Aether config model
-keywords:
- - onos
- - sdn
- - config
-home: https://onosproject.org
-maintainers:
- - name: ONOS Support
- email: support@opennetworking.org
diff --git a/config-models/aether-1.x/files/aether-1.0.0.tree b/config-models/aether-1.x/files/aether-1.0.0.tree
deleted file mode 100644
index 7c24828..0000000
--- a/config-models/aether-1.x/files/aether-1.0.0.tree
+++ /dev/null
@@ -1,54 +0,0 @@
-module: access-profile
- +--rw access-profile
- +--rw access-profile* [id]
- +--rw id access-profile-id
- +--rw type? string
- +--rw filter? string
- +--rw description? string
-
-module: aether-subscriber
- +--rw subscriber
- +--rw ue* [ueid]
- +--rw ueid ueid
- +--rw serving-plmn
- | +--rw mcc? mcc
- | +--rw mnc? mnc
- | +--rw tac? tac
- +--rw requested-apn? string
- +--rw priority? uint32
- +--rw enabled? boolean
- +--rw profiles
- +--rw apn-profile? -> /apn:apn-profile/apn-profile/id
- +--rw up-profile? -> /up:up-profile/up-profile/id
- +--rw qos-profile? -> /qos:qos-profile/qos-profile/id
- +--rw access-profile* [access-profile]
- +--rw access-profile -> /ap:access-profile/access-profile/id
- +--rw allowed? boolean
-
-module: apn-profile
- +--rw apn-profile
- +--rw apn-profile* [id]
- +--rw id apn-profile-id
- +--rw apn-name? string
- +--rw dns-primary? inet:ip-address
- +--rw dns-secondary? inet:ip-address
- +--rw mtu? uint32
- +--rw gx-enabled? boolean
- +--rw description? string
-
-module: qos-profile
- +--rw qos-profile
- +--rw qos-profile* [id]
- +--rw id qos-profile-id
- +--rw apn-ambr
- | +--rw uplink? uint32
- | +--rw downlink? uint32
- +--rw description? string
-
-module: up-profile
- +--rw up-profile
- +--rw up-profile* [id]
- +--rw id up-profile-id
- +--rw user-plane? string
- +--rw access-control? string
- +--rw description? string
diff --git a/config-models/aether-1.x/files/yang/access-profile.yang b/config-models/aether-1.x/files/yang/access-profile.yang
deleted file mode 100755
index dac8d76..0000000
--- a/config-models/aether-1.x/files/yang/access-profile.yang
+++ /dev/null
@@ -1,65 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module access-profile {
- namespace "http://opennetworking.org/aether/access-profile";
- prefix pro;
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2020-08-18" {
- description "An Aether access Profile";
- reference "RFC 6087";
- }
-
- // TODO: Think more on whether this should be a UUID or
- // simply a unique name. If it's a UUID, could fix the
- // string length.
- typedef access-profile-id {
- type string {
- length 1..32;
- }
- description "The typedef for access-profile-id";
- }
-
- container access-profile {
- description "The top level container";
-
- list access-profile {
- key "id";
- description
- "List of access profiles";
-
- leaf id {
- type access-profile-id;
- description "ID for this access profile.";
- }
-
- leaf type {
- type string {
- length 1..32;
- }
- description "type of profile";
- }
-
- leaf filter {
- type string {
- length 0..32;
- }
- description "filter";
- }
-
- leaf description {
- type string {
- length 1..100;
- }
- description "description of this profile";
- }
- }
- }
-}
diff --git a/config-models/aether-1.x/files/yang/aether-subscriber.yang b/config-models/aether-1.x/files/yang/aether-subscriber.yang
deleted file mode 100644
index 880dd82..0000000
--- a/config-models/aether-1.x/files/yang/aether-subscriber.yang
+++ /dev/null
@@ -1,154 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module aether-subscriber {
- namespace "http://opennetworking.org/aether/subscriber";
- prefix sub;
-
- import apn-profile{ prefix apn; }
- import qos-profile{ prefix qos; }
- import up-profile{ prefix up; }
- import access-profile{ prefix ap; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2020-08-18" {
- description "An Aether Subscriber";
- reference "RFC 6087";
- }
-
- // User Equipment ID (UEID), Basically an IMSI range
- // examples:
- // 123456789??????? ... wildcard at the end
- // 123456???0123455 ... wildcard in the middle
- // 1234567890000000-123456789000005 ... range
- typedef ueid {
- type string {
- length 1..31;
- }
- description "The typedef for ueid";
- }
-
- typedef mcc {
- type uint32 {
- range 0..999;
- }
- description "The typedef for mcc";
- }
-
- typedef mnc {
- type uint32 {
- range 0..999;
- }
- description "The typedef for mnc";
- }
-
- typedef tac {
- type uint32 {
- range 0..99999999;
- }
- description "The typedef for tac";
- }
-
- container subscriber {
- description "The top level container";
-
- list ue {
- key "ueid";
- description
- "List of subscriber devices";
-
- leaf ueid {
- type ueid;
- description "identifier for this subscriber, may or may not be an IMSI";
- }
-
- container serving-plmn {
- leaf mcc {
- type mcc;
- description "mobile country code";
- }
- leaf mnc {
- type mnc;
- description "mobile network code";
- }
- leaf tac {
- type tac;
- description "type allocation code";
- }
- description "The contaiber for serving-plmn";
- }
-
- leaf requested-apn {
- type string {
- length 1..31;
- }
- description "requested access point name";
- }
-
- leaf priority {
- type uint32 {
- range 0..1000;
- }
- default 0;
- description
- "Priority for this subscriber range";
- }
-
- leaf enabled {
- type boolean;
- default false;
- description
- "Enable or disable this ue";
- }
-
- container profiles {
- leaf apn-profile {
- type leafref {
- path "/apn:apn-profile/apn:apn-profile/apn:id";
- }
- description
- "Link to apn profile";
- }
- leaf up-profile {
- type leafref {
- path "/up:up-profile/up:up-profile/up:id";
- }
- description
- "Link to user plane profile";
- }
- leaf qos-profile {
- type leafref {
- path "/qos:qos-profile/qos:qos-profile/qos:id";
- }
- description
- "Link to qos profile";
- }
- list access-profile {
- key "access-profile";
- leaf access-profile {
- type leafref {
- path "/ap:access-profile/ap:access-profile/ap:id";
- }
-// type ap:access-profile-id;
- description
- "Link to access profile";
- }
- leaf allowed {
- type boolean;
- default true;
- description
- "Allow or disallow this ue to use this access profile";
- }
- description "The list for access-profile";
- }
- description "The container for profiles";
- }
- }
- }
-}
diff --git a/config-models/aether-1.x/files/yang/apn-profile.yang b/config-models/aether-1.x/files/yang/apn-profile.yang
deleted file mode 100755
index 015f695..0000000
--- a/config-models/aether-1.x/files/yang/apn-profile.yang
+++ /dev/null
@@ -1,85 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module apn-profile {
- namespace "http://opennetworking.org/aether/apn-profile";
- prefix pro;
-
- import ietf-inet-types { prefix inet; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2020-08-18" {
- description "An Aether APN Profile";
- reference "RFC 6087";
- }
-
- // TODO: Think more on whether this should be a UUID or
- // simply a unique name. If it's a UUID, could fix the
- // string length.
- typedef apn-profile-id {
- type string {
- length 1..32;
- }
- description "The typedef for apn-profile-id";
- }
-
- container apn-profile {
- description "The top level container";
-
- list apn-profile {
- key "id";
- description
- "List of apn profiles";
-
- leaf id {
- type apn-profile-id;
- description "ID for this apn profile.";
- }
-
- leaf apn-name {
- type string {
- length 1..32;
- }
- description "apn name";
- }
-
- leaf dns-primary {
- type inet:ip-address;
- description "primary dns server name";
- }
-
- leaf dns-secondary {
- type inet:ip-address;
- description "secondary dns server name";
- }
-
- leaf mtu {
- type uint32 {
- range 68..65535;
- }
- units bytes;
- default 1460;
- description "maximum transmission unit";
- }
-
- leaf gx-enabled {
- type boolean;
- default false;
- description "enable gx interface";
- }
-
- leaf description {
- type string {
- length 1..100;
- }
- description "description of this profile";
- }
- }
- }
-}
diff --git a/config-models/aether-1.x/files/yang/ietf-inet-types.yang b/config-models/aether-1.x/files/yang/ietf-inet-types.yang
deleted file mode 100644
index fa57f75..0000000
--- a/config-models/aether-1.x/files/yang/ietf-inet-types.yang
+++ /dev/null
@@ -1,458 +0,0 @@
-module ietf-inet-types {
-
- namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types";
- prefix "inet";
-
- organization
- "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
- contact
- "WG Web: <http://tools.ietf.org/wg/netmod/>
- WG List: <mailto:netmod@ietf.org>
-
- WG Chair: David Kessens
- <mailto:david.kessens@nsn.com>
-
- WG Chair: Juergen Schoenwaelder
- <mailto:j.schoenwaelder@jacobs-university.de>
-
- Editor: Juergen Schoenwaelder
- <mailto:j.schoenwaelder@jacobs-university.de>";
-
- description
- "This module contains a collection of generally useful derived
- YANG data types for Internet addresses and related things.
-
- Copyright (c) 2013 IETF Trust and the persons identified as
- authors of the code. All rights reserved.
-
- Redistribution and use in source and binary forms, with or
- without modification, is permitted pursuant to, and subject
- to the license terms contained in, the Simplified BSD License
- set forth in Section 4.c of the IETF Trust's Legal Provisions
- Relating to IETF Documents
- (http://trustee.ietf.org/license-info).
-
- This version of this YANG module is part of RFC 6991; see
- the RFC itself for full legal notices.";
-
- revision 2013-07-15 {
- description
- "This revision adds the following new data types:
- - ip-address-no-zone
- - ipv4-address-no-zone
- - ipv6-address-no-zone";
- reference
- "RFC 6991: Common YANG Data Types";
- }
-
- revision 2010-09-24 {
- description
- "Initial revision.";
- reference
- "RFC 6021: Common YANG Data Types";
- }
-
- /*** collection of types related to protocol fields ***/
-
- typedef ip-version {
- type enumeration {
- enum unknown {
- value "0";
- description
- "An unknown or unspecified version of the Internet
- protocol.";
- }
- enum ipv4 {
- value "1";
- description
- "The IPv4 protocol as defined in RFC 791.";
- }
- enum ipv6 {
- value "2";
- description
- "The IPv6 protocol as defined in RFC 2460.";
- }
- }
- description
- "This value represents the version of the IP protocol.
-
- In the value set and its semantics, this type is equivalent
- to the InetVersion textual convention of the SMIv2.";
- reference
- "RFC 791: Internet Protocol
- RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
- RFC 4001: Textual Conventions for Internet Network Addresses";
- }
-
- typedef dscp {
- type uint8 {
- range "0..63";
- }
- description
- "The dscp type represents a Differentiated Services Code Point
- that may be used for marking packets in a traffic stream.
- In the value set and its semantics, this type is equivalent
- to the Dscp textual convention of the SMIv2.";
- reference
- "RFC 3289: Management Information Base for the Differentiated
- Services Architecture
- RFC 2474: Definition of the Differentiated Services Field
- (DS Field) in the IPv4 and IPv6 Headers
- RFC 2780: IANA Allocation Guidelines For Values In
- the Internet Protocol and Related Headers";
- }
-
- typedef ipv6-flow-label {
- type uint32 {
- range "0..1048575";
- }
- description
- "The ipv6-flow-label type represents the flow identifier or Flow
- Label in an IPv6 packet header that may be used to
- discriminate traffic flows.
-
- In the value set and its semantics, this type is equivalent
- to the IPv6FlowLabel textual convention of the SMIv2.";
- reference
- "RFC 3595: Textual Conventions for IPv6 Flow Label
- RFC 2460: Internet Protocol, Version 6 (IPv6) Specification";
- }
-
- typedef port-number {
- type uint16 {
- range "0..65535";
- }
- description
- "The port-number type represents a 16-bit port number of an
- Internet transport-layer protocol such as UDP, TCP, DCCP, or
- SCTP. Port numbers are assigned by IANA. A current list of
- all assignments is available from <http://www.iana.org/>.
-
- Note that the port number value zero is reserved by IANA. In
- situations where the value zero does not make sense, it can
- be excluded by subtyping the port-number type.
- In the value set and its semantics, this type is equivalent
- to the InetPortNumber textual convention of the SMIv2.";
- reference
- "RFC 768: User Datagram Protocol
- RFC 793: Transmission Control Protocol
- RFC 4960: Stream Control Transmission Protocol
- RFC 4340: Datagram Congestion Control Protocol (DCCP)
- RFC 4001: Textual Conventions for Internet Network Addresses";
- }
-
- /*** collection of types related to autonomous systems ***/
-
- typedef as-number {
- type uint32;
- description
- "The as-number type represents autonomous system numbers
- which identify an Autonomous System (AS). An AS is a set
- of routers under a single technical administration, using
- an interior gateway protocol and common metrics to route
- packets within the AS, and using an exterior gateway
- protocol to route packets to other ASes. IANA maintains
- the AS number space and has delegated large parts to the
- regional registries.
-
- Autonomous system numbers were originally limited to 16
- bits. BGP extensions have enlarged the autonomous system
- number space to 32 bits. This type therefore uses an uint32
- base type without a range restriction in order to support
- a larger autonomous system number space.
-
- In the value set and its semantics, this type is equivalent
- to the InetAutonomousSystemNumber textual convention of
- the SMIv2.";
- reference
- "RFC 1930: Guidelines for creation, selection, and registration
- of an Autonomous System (AS)
- RFC 4271: A Border Gateway Protocol 4 (BGP-4)
- RFC 4001: Textual Conventions for Internet Network Addresses
- RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
- Number Space";
- }
-
- /*** collection of types related to IP addresses and hostnames ***/
-
- typedef ip-address {
- type union {
- type inet:ipv4-address;
- type inet:ipv6-address;
- }
- description
- "The ip-address type represents an IP address and is IP
- version neutral. The format of the textual representation
- implies the IP version. This type supports scoped addresses
- by allowing zone identifiers in the address format.";
- reference
- "RFC 4007: IPv6 Scoped Address Architecture";
- }
-
- typedef ipv4-address {
- type string {
- pattern
- '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
- + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
- + '(%[\p{N}\p{L}]+)?';
- }
- description
- "The ipv4-address type represents an IPv4 address in
- dotted-quad notation. The IPv4 address may include a zone
- index, separated by a % sign.
-
- The zone index is used to disambiguate identical address
- values. For link-local addresses, the zone index will
- typically be the interface index number or the name of an
- interface. If the zone index is not present, the default
- zone of the device will be used.
-
- The canonical format for the zone index is the numerical
- format";
- }
-
- typedef ipv6-address {
- type string {
- pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
- + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
- + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
- + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
- + '(%[\p{N}\p{L}]+)?';
- pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
- + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
- + '(%.+)?';
- }
- description
- "The ipv6-address type represents an IPv6 address in full,
- mixed, shortened, and shortened-mixed notation. The IPv6
- address may include a zone index, separated by a % sign.
-
- The zone index is used to disambiguate identical address
- values. For link-local addresses, the zone index will
- typically be the interface index number or the name of an
- interface. If the zone index is not present, the default
- zone of the device will be used.
-
- The canonical format of IPv6 addresses uses the textual
- representation defined in Section 4 of RFC 5952. The
- canonical format for the zone index is the numerical
- format as described in Section 11.2 of RFC 4007.";
- reference
- "RFC 4291: IP Version 6 Addressing Architecture
- RFC 4007: IPv6 Scoped Address Architecture
- RFC 5952: A Recommendation for IPv6 Address Text
- Representation";
- }
-
- typedef ip-address-no-zone {
- type union {
- type inet:ipv4-address-no-zone;
- type inet:ipv6-address-no-zone;
- }
- description
- "The ip-address-no-zone type represents an IP address and is
- IP version neutral. The format of the textual representation
- implies the IP version. This type does not support scoped
- addresses since it does not allow zone identifiers in the
- address format.";
- reference
- "RFC 4007: IPv6 Scoped Address Architecture";
- }
-
- typedef ipv4-address-no-zone {
- type inet:ipv4-address {
- pattern '[0-9\.]*';
- }
- description
- "An IPv4 address without a zone index. This type, derived from
- ipv4-address, may be used in situations where the zone is
- known from the context and hence no zone index is needed.";
- }
-
- typedef ipv6-address-no-zone {
- type inet:ipv6-address {
- pattern '[0-9a-fA-F:\.]*';
- }
- description
- "An IPv6 address without a zone index. This type, derived from
- ipv6-address, may be used in situations where the zone is
- known from the context and hence no zone index is needed.";
- reference
- "RFC 4291: IP Version 6 Addressing Architecture
- RFC 4007: IPv6 Scoped Address Architecture
- RFC 5952: A Recommendation for IPv6 Address Text
- Representation";
- }
-
- typedef ip-prefix {
- type union {
- type inet:ipv4-prefix;
- type inet:ipv6-prefix;
- }
- description
- "The ip-prefix type represents an IP prefix and is IP
- version neutral. The format of the textual representations
- implies the IP version.";
- }
-
- typedef ipv4-prefix {
- type string {
- pattern
- '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
- + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
- + '/(([0-9])|([1-2][0-9])|(3[0-2]))';
- }
- description
- "The ipv4-prefix type represents an IPv4 address prefix.
- The prefix length is given by the number following the
- slash character and must be less than or equal to 32.
-
- A prefix length value of n corresponds to an IP address
- mask that has n contiguous 1-bits from the most
- significant bit (MSB) and all other bits set to 0.
-
- The canonical format of an IPv4 prefix has all bits of
- the IPv4 address set to zero that are not part of the
- IPv4 prefix.";
- }
-
- typedef ipv6-prefix {
- type string {
- pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
- + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
- + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
- + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
- + '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))';
- pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
- + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
- + '(/.+)';
- }
-
- description
- "The ipv6-prefix type represents an IPv6 address prefix.
- The prefix length is given by the number following the
- slash character and must be less than or equal to 128.
-
- A prefix length value of n corresponds to an IP address
- mask that has n contiguous 1-bits from the most
- significant bit (MSB) and all other bits set to 0.
-
- The IPv6 address should have all bits that do not belong
- to the prefix set to zero.
-
- The canonical format of an IPv6 prefix has all bits of
- the IPv6 address set to zero that are not part of the
- IPv6 prefix. Furthermore, the IPv6 address is represented
- as defined in Section 4 of RFC 5952.";
- reference
- "RFC 5952: A Recommendation for IPv6 Address Text
- Representation";
- }
-
- /*** collection of domain name and URI types ***/
-
- typedef domain-name {
- type string {
- length "1..253";
- pattern
- '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
- + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
- + '|\.';
- }
- description
- "The domain-name type represents a DNS domain name. The
- name SHOULD be fully qualified whenever possible.
-
- Internet domain names are only loosely specified. Section
- 3.5 of RFC 1034 recommends a syntax (modified in Section
- 2.1 of RFC 1123). The pattern above is intended to allow
- for current practice in domain name use, and some possible
- future expansion. It is designed to hold various types of
- domain names, including names used for A or AAAA records
- (host names) and other records, such as SRV records. Note
- that Internet host names have a stricter syntax (described
- in RFC 952) than the DNS recommendations in RFCs 1034 and
- 1123, and that systems that want to store host names in
- schema nodes using the domain-name type are recommended to
- adhere to this stricter standard to ensure interoperability.
-
- The encoding of DNS names in the DNS protocol is limited
- to 255 characters. Since the encoding consists of labels
- prefixed by a length bytes and there is a trailing NULL
- byte, only 253 characters can appear in the textual dotted
- notation.
-
- The description clause of schema nodes using the domain-name
- type MUST describe when and how these names are resolved to
- IP addresses. Note that the resolution of a domain-name value
- may require to query multiple DNS records (e.g., A for IPv4
- and AAAA for IPv6). The order of the resolution process and
- which DNS record takes precedence can either be defined
- explicitly or may depend on the configuration of the
- resolver.
-
- Domain-name values use the US-ASCII encoding. Their canonical
- format uses lowercase US-ASCII characters. Internationalized
- domain names MUST be A-labels as per RFC 5890.";
- reference
- "RFC 952: DoD Internet Host Table Specification
- RFC 1034: Domain Names - Concepts and Facilities
- RFC 1123: Requirements for Internet Hosts -- Application
- and Support
- RFC 2782: A DNS RR for specifying the location of services
- (DNS SRV)
- RFC 5890: Internationalized Domain Names in Applications
- (IDNA): Definitions and Document Framework";
- }
-
- typedef host {
- type union {
- type inet:ip-address;
- type inet:domain-name;
- }
- description
- "The host type represents either an IP address or a DNS
- domain name.";
- }
-
- typedef uri {
- type string;
- description
- "The uri type represents a Uniform Resource Identifier
- (URI) as defined by STD 66.
-
- Objects using the uri type MUST be in US-ASCII encoding,
- and MUST be normalized as described by RFC 3986 Sections
- 6.2.1, 6.2.2.1, and 6.2.2.2. All unnecessary
- percent-encoding is removed, and all case-insensitive
- characters are set to lowercase except for hexadecimal
- digits, which are normalized to uppercase as described in
- Section 6.2.2.1.
-
- The purpose of this normalization is to help provide
- unique URIs. Note that this normalization is not
- sufficient to provide uniqueness. Two URIs that are
- textually distinct after this normalization may still be
- equivalent.
-
- Objects using the uri type may restrict the schemes that
- they permit. For example, 'data:' and 'urn:' schemes
- might not be appropriate.
-
- A zero-length URI is not a valid URI. This can be used to
- express 'URI absent' where required.
-
- In the value set and its semantics, this type is equivalent
- to the Uri SMIv2 textual convention defined in RFC 5017.";
- reference
- "RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
- RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
- Group: Uniform Resource Identifiers (URIs), URLs,
- and Uniform Resource Names (URNs): Clarifications
- and Recommendations
- RFC 5017: MIB Textual Conventions for Uniform Resource
- Identifiers (URIs)";
- }
-
-}
diff --git a/config-models/aether-1.x/files/yang/qos-profile.yang b/config-models/aether-1.x/files/yang/qos-profile.yang
deleted file mode 100755
index cde5273..0000000
--- a/config-models/aether-1.x/files/yang/qos-profile.yang
+++ /dev/null
@@ -1,73 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module qos-profile {
- namespace "http://opennetworking.org/aether/qos-profile";
- prefix pro;
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2020-08-18" {
- description "An Aether qos Profile";
- reference "RFC 6087";
- }
-
- // TODO: Think more on whether this should be a UUID or
- // simply a unique name. If it's a UUID, could fix the
- // string length.
- typedef qos-profile-id {
- type string {
- length 1..32;
- }
- description "The typedef for qos-profile-id";
- }
-
- container qos-profile {
- description "The top level container";
-
- list qos-profile {
- key "id";
- description
- "List of qos profiles";
-
- leaf id {
- type qos-profile-id;
- description "ID for this qos profile.";
- }
-
- container apn-ambr {
- leaf uplink {
- type uint32 {
- range 0..4294967295;
- }
- units bps;
- default 0;
- description
- "Upstream aggregate maximum bit rate";
- }
- leaf downlink {
- type uint32 {
- range 0..4294967295;
- }
- units bps;
- default 0;
- description
- "Downstream aggregate maximum bit rate";
- }
- description "The container for apn-ambr";
- }
-
- leaf description {
- type string {
- length 1..100;
- }
- description "description of this profile";
- }
- }
- }
-}
diff --git a/config-models/aether-1.x/files/yang/up-profile.yang b/config-models/aether-1.x/files/yang/up-profile.yang
deleted file mode 100755
index 1c5052d..0000000
--- a/config-models/aether-1.x/files/yang/up-profile.yang
+++ /dev/null
@@ -1,65 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module up-profile {
- namespace "http://opennetworking.org/aether/user-plane-profile";
- prefix pro;
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2020-08-18" {
- description "An Aether user plane Profile";
- reference "RFC 6087";
- }
-
- // TODO: Think more on whether this should be a UUID or
- // simply a unique name. If it's a UUID, could fix the
- // string length.
- typedef up-profile-id {
- type string {
- length 1..32;
- }
- description "The typedef for up-profile-id";
- }
-
- container up-profile {
- description "The top level container";
-
- list up-profile {
- key "id";
- description
- "List of user plane profiles";
-
- leaf id {
- type up-profile-id;
- description "ID for this user plane profile.";
- }
-
- leaf user-plane {
- type string {
- length 1..255;
- }
- description "user plane name";
- }
-
- leaf access-control {
- type string {
- length 1..32;
- }
- description "access control policy";
- }
-
- leaf description {
- type string {
- length 1..100;
- }
- description "description of this profile";
- }
- }
- }
-}
diff --git a/config-models/aether-1.x/templates/_helpers.tpl b/config-models/aether-1.x/templates/_helpers.tpl
deleted file mode 100644
index bb84c33..0000000
--- a/config-models/aether-1.x/templates/_helpers.tpl
+++ /dev/null
@@ -1,52 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
-SPDX-License-Identifier: Apache-2.0
-
-Expand the name of the chart.
-*/}}
-{{- define "aether.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-If release name contains chart name it will be used as a full name.
-*/}}
-{{- define "aether.fullname" -}}
-{{- if contains "config-model-aether" .Release.Name -}}
-{{- printf "%s-%s" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- printf "%s-%s-config-model-aether" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "aether.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-
-{{/*
-Common labels
-*/}}
-{{- define "aether.labels" -}}
-helm.sh/chart: {{ include "aether.chart" . }}
-{{ include "aether.selectorLabels" . }}
-{{- if .Chart.AppVersion }}
-app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
-{{- end }}
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- end -}}
-
-{{/*
-Selector labels
-*/}}
-{{- define "aether.selectorLabels" -}}
-app.kubernetes.io/name: {{ include "aether.name" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end -}}
-}
diff --git a/config-models/aether-1.x/templates/model.yaml b/config-models/aether-1.x/templates/model.yaml
deleted file mode 100644
index 0b2af15..0000000
--- a/config-models/aether-1.x/templates/model.yaml
+++ /dev/null
@@ -1,41 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: config.onosproject.org/v1beta1
-kind: Model
-metadata:
- name: {{ template "aether.fullname" . }}
- namespace: {{ .Release.Namespace }}
- labels:
- {{- include "aether.labels" . | nindent 4 }}
-spec:
- plugin:
- type: Aether
- version: {{ .Chart.AppVersion | quote }}
- modules:
- - name: aether-subscriber
- organization: Open Networking Foundation
- revision: 2020-08-18
- file: aether-subscriber.yang
- - name: apn-profile
- organization: Open Networking Foundation
- revision: 2020-08-18
- file: apn-profile.yang
- - name: up-profile
- organization: Open Networking Foundation
- revision: 2020-08-18
- file: up-profile.yang
- - name: qos-profile
- organization: Open Networking Foundation
- revision: 2020-08-18
- file: qos-profile.yang
- - name: access-profile
- organization: Open Networking Foundation
- revision: 2020-08-18
- file: access-profile.yang
- files:
- {{- range $path, $_ := $.Files.Glob "files/yang/*.yang" }}
- {{ base $path }}: |
-{{ $.Files.Get $path | indent 6 }}
- {{- end }}
diff --git a/config-models/aether-1.x/values.yaml b/config-models/aether-1.x/values.yaml
deleted file mode 100644
index 114bfc5..0000000
--- a/config-models/aether-1.x/values.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
diff --git a/config-models/aether-2.0.x/CHANGELOG.md b/config-models/aether-2.0.x/CHANGELOG.md
deleted file mode 100644
index 2d66b6b..0000000
--- a/config-models/aether-2.0.x/CHANGELOG.md
+++ /dev/null
@@ -1,43 +0,0 @@
-<!--
-SPDX-FileCopyrightText: 2021 Open Networking Foundation
-
-SPDX-License-Identifier: Apache-2.0
--->
-
-Changes on 2/3/2022
-===================
-
-* IDs updated throughout. For example `DgId` to `DeviceGroupId`.
- Consult aether-2.0.0.tree to get the current IDs.
-
-Changes on 1/31/2022
-====================
-
-* Traffic-Class moved out of Slice.MBR
-
-Changes on 1/27/2022
-====================
-
-* VCS renamed to Slice
-* Slice container within VCS and Template removed and MBR moved up one level
-
-Changes on 1/20/2022
-====================
-
-* PriorityTrafficRule added
-* SimCard added
-* Device Added
-* Device-Group now includes a list of Devices
-
-Changes on 1/19/2022
-====================
-
-* Application model has been moved inside of Enterprise model
-* Traffic-Class model has been moved inside of Enterprise model
-* Template model has been moved inside of Enterprise model
-* Site model has been moved inside of Enterprise model
-* UPF model has been moved inside of Site model
-* VCS model has been moved inside of Site model
-* Device-Group model has been moved inside of Site model
-* IP-Domain model has been moved inside of Site model
-* Enterprise and Site links removed throughout
diff --git a/config-models/aether-2.0.x/Chart.yaml b/config-models/aether-2.0.x/Chart.yaml
deleted file mode 100644
index 8af477c..0000000
--- a/config-models/aether-2.0.x/Chart.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: v2
-name: config-model-aether-2
-version: 2.0.10
-kubeVersion: ">=1.18.0"
-appVersion: 2.0.0
-description: Aether config model
-keywords:
- - onos
- - sdn
- - config
-home: https://onosproject.org
-maintainers:
- - name: ONOS Support
- email: support@opennetworking.org
diff --git a/config-models/aether-2.0.x/files/aether-2.0.0.tree b/config-models/aether-2.0.x/files/aether-2.0.0.tree
deleted file mode 100644
index c818e22..0000000
--- a/config-models/aether-2.0.x/files/aether-2.0.0.tree
+++ /dev/null
@@ -1,156 +0,0 @@
-module: onf-connectivity-service
- +--rw connectivity-services
- +--rw connectivity-service* [connectivity-service-id]
- +--rw connectivity-service-id connectivity-service-id
- +--rw display-name? string
- +--rw description? description
- +--rw core-5g-endpoint? inet:uri
- +--rw acc-prometheus-url? inet:uri
-
-module: onf-enterprise
- +--rw enterprises
- +--rw enterprise* [enterprise-id]
- +--rw enterprise-id enterprise-id
- +--rw display-name? string
- +--rw description? description
- +--rw connectivity-service* [connectivity-service]
- | +--rw connectivity-service -> /cs:connectivity-services/connectivity-service/connectivity-service-id
- | +--rw enabled? boolean
- +--rw application* [application-id]
- | +--rw application-id application-id
- | +--rw display-name? string
- | +--rw description? description
- | +--rw address at:host-or-network
- | +--rw endpoint* [endpoint-id]
- | +--rw endpoint-id at:aether-identifier
- | +--rw display-name? string
- | +--rw description? description
- | +--rw port-start? ietf:port-number
- | +--rw port-end? ietf:port-number
- | +--rw protocol? at:protocol
- | +--rw mbr
- | | +--rw uplink? at:bitrate
- | | +--rw downlink? at:bitrate
- | +--rw traffic-class? -> ../../../traffic-class/traffic-class-id
- +--rw traffic-class* [traffic-class-id]
- | +--rw traffic-class-id traffic-class-id
- | +--rw display-name? string
- | +--rw description? description
- | +--rw arp? at:arp
- | +--rw qci? at:qci
- | +--rw pelr? at:pelr
- | +--rw pdb? at:pdb
- +--rw template* [template-id]
- | +--rw template-id template-id
- | +--rw display-name? string
- | +--rw description? description
- | +--rw sst? at:sst
- | +--rw sd? at:sd
- | +--rw mbr
- | | +--rw uplink? at:bitrate
- | | +--rw downlink? at:bitrate
- | | +--rw uplink-burst-size? at:burst
- | | +--rw downlink-burst-size? at:burst
- | +--rw default-behavior at:behavior
- +--rw site* [site-id]
- +--rw site-id site-id
- +--rw display-name? string
- +--rw description? description
- +--rw small-cell* [small-cell-id]
- | +--rw small-cell-id at:aether-identifier
- | +--rw display-name? string
- | +--rw description? description
- | +--rw address? inet:host
- | +--rw tac at:tac
- | +--rw enable? boolean
- +--rw monitoring
- | +--rw edge-cluster-prometheus-url? inet:uri
- | +--rw edge-monitoring-prometheus-url? inet:uri
- | +--rw edge-device* [edge-device-id]
- | +--rw edge-device-id at:aether-identifier
- | +--rw display-name? string
- | +--rw description? description
- +--rw imsi-definition
- | +--rw mcc at:mcc
- | +--rw mnc at:mnc
- | +--rw enterprise at:ent
- | +--rw format string
- +--rw device* [device-id]
- | +--rw device-id device-id
- | +--rw display-name? string
- | +--rw description? description
- | +--rw imei? at:imei
- | +--rw sim-card? -> ../../sim-card/sim-id
- +--rw sim-card* [sim-id]
- | +--rw sim-id sim-card-id
- | +--rw display-name? string
- | +--rw description? description
- | +--rw iccid? at:iccid
- | +--rw imsi? at:imsi
- +--rw upf* [upf-id]
- | +--rw upf-id upf-id
- | +--rw display-name? string
- | +--rw description? description
- | +--rw address inet:host
- | +--rw port inet:port-number
- | +--rw config-endpoint? inet:uri
- +--rw slice* [slice-id]
- | +--rw slice-id slice-id
- | +--rw display-name? string
- | +--rw description? description
- | +--rw device-group* [device-group]
- | | +--rw device-group -> ../../../device-group/device-group-id
- | | +--rw enable? boolean
- | +--rw default-behavior at:behavior
- | +--rw filter* [application]
- | | +--rw application -> ../../../../application/application-id
- | | +--rw priority? at:priority
- | | +--rw allow? boolean
- | +--rw upf? -> ../../upf/upf-id
- | +--rw sst at:sst
- | +--rw sd at:sd
- | +--rw mbr
- | | +--rw uplink? at:bitrate
- | | +--rw downlink? at:bitrate
- | | +--rw uplink-burst-size? at:burst
- | | +--rw downlink-burst-size? at:burst
- | +--rw priority-traffic-rule* [priority-traffic-rule-id]
- | +--rw priority-traffic-rule-id priority-traffic-rule-id
- | +--rw display-name? string
- | +--rw description? description
- | +--rw device -> ../../../device/device-id
- | +--rw application -> ../../../../application/application-id
- | +--rw endpoint -> ../../../../application/endpoint/endpoint-id
- | +--rw (bitrate)?
- | | +--:(mbr-case)
- | | | +--rw mbr
- | | | +--rw uplink? at:bitrate
- | | | +--rw downlink? at:bitrate
- | | +--:(gbr-case)
- | | +--rw gbr
- | | +--rw uplink? at:bitrate
- | | +--rw downlink? at:bitrate
- | +--rw traffic-class? -> ../../../../traffic-class/traffic-class-id
- +--rw device-group* [device-group-id]
- | +--rw device-group-id device-group-id
- | +--rw display-name? string
- | +--rw description? description
- | +--rw device* [device-id]
- | | +--rw device-id -> ../../../device/device-id
- | | +--rw enable? boolean
- | +--rw ip-domain? -> ../../ip-domain/ip-domain-id
- | +--rw mbr
- | | +--rw uplink at:bitrate
- | | +--rw downlink at:bitrate
- | +--rw traffic-class -> ../../../traffic-class/traffic-class-id
- +--rw ip-domain* [ip-domain-id]
- +--rw ip-domain-id ip-domain-id
- +--rw display-name? string
- +--rw description? description
- +--rw dnn at:dnn
- +--rw dns-primary? inet:ip-address
- +--rw dns-secondary? inet:ip-address
- +--rw subnet inet:ipv4-prefix
- +--rw admin-status? at:admin-status
- +--rw mtu? at:mtu
-
diff --git a/config-models/aether-2.0.x/files/yang/ietf-inet-types.yang b/config-models/aether-2.0.x/files/yang/ietf-inet-types.yang
deleted file mode 100644
index fa57f75..0000000
--- a/config-models/aether-2.0.x/files/yang/ietf-inet-types.yang
+++ /dev/null
@@ -1,458 +0,0 @@
-module ietf-inet-types {
-
- namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types";
- prefix "inet";
-
- organization
- "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
- contact
- "WG Web: <http://tools.ietf.org/wg/netmod/>
- WG List: <mailto:netmod@ietf.org>
-
- WG Chair: David Kessens
- <mailto:david.kessens@nsn.com>
-
- WG Chair: Juergen Schoenwaelder
- <mailto:j.schoenwaelder@jacobs-university.de>
-
- Editor: Juergen Schoenwaelder
- <mailto:j.schoenwaelder@jacobs-university.de>";
-
- description
- "This module contains a collection of generally useful derived
- YANG data types for Internet addresses and related things.
-
- Copyright (c) 2013 IETF Trust and the persons identified as
- authors of the code. All rights reserved.
-
- Redistribution and use in source and binary forms, with or
- without modification, is permitted pursuant to, and subject
- to the license terms contained in, the Simplified BSD License
- set forth in Section 4.c of the IETF Trust's Legal Provisions
- Relating to IETF Documents
- (http://trustee.ietf.org/license-info).
-
- This version of this YANG module is part of RFC 6991; see
- the RFC itself for full legal notices.";
-
- revision 2013-07-15 {
- description
- "This revision adds the following new data types:
- - ip-address-no-zone
- - ipv4-address-no-zone
- - ipv6-address-no-zone";
- reference
- "RFC 6991: Common YANG Data Types";
- }
-
- revision 2010-09-24 {
- description
- "Initial revision.";
- reference
- "RFC 6021: Common YANG Data Types";
- }
-
- /*** collection of types related to protocol fields ***/
-
- typedef ip-version {
- type enumeration {
- enum unknown {
- value "0";
- description
- "An unknown or unspecified version of the Internet
- protocol.";
- }
- enum ipv4 {
- value "1";
- description
- "The IPv4 protocol as defined in RFC 791.";
- }
- enum ipv6 {
- value "2";
- description
- "The IPv6 protocol as defined in RFC 2460.";
- }
- }
- description
- "This value represents the version of the IP protocol.
-
- In the value set and its semantics, this type is equivalent
- to the InetVersion textual convention of the SMIv2.";
- reference
- "RFC 791: Internet Protocol
- RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
- RFC 4001: Textual Conventions for Internet Network Addresses";
- }
-
- typedef dscp {
- type uint8 {
- range "0..63";
- }
- description
- "The dscp type represents a Differentiated Services Code Point
- that may be used for marking packets in a traffic stream.
- In the value set and its semantics, this type is equivalent
- to the Dscp textual convention of the SMIv2.";
- reference
- "RFC 3289: Management Information Base for the Differentiated
- Services Architecture
- RFC 2474: Definition of the Differentiated Services Field
- (DS Field) in the IPv4 and IPv6 Headers
- RFC 2780: IANA Allocation Guidelines For Values In
- the Internet Protocol and Related Headers";
- }
-
- typedef ipv6-flow-label {
- type uint32 {
- range "0..1048575";
- }
- description
- "The ipv6-flow-label type represents the flow identifier or Flow
- Label in an IPv6 packet header that may be used to
- discriminate traffic flows.
-
- In the value set and its semantics, this type is equivalent
- to the IPv6FlowLabel textual convention of the SMIv2.";
- reference
- "RFC 3595: Textual Conventions for IPv6 Flow Label
- RFC 2460: Internet Protocol, Version 6 (IPv6) Specification";
- }
-
- typedef port-number {
- type uint16 {
- range "0..65535";
- }
- description
- "The port-number type represents a 16-bit port number of an
- Internet transport-layer protocol such as UDP, TCP, DCCP, or
- SCTP. Port numbers are assigned by IANA. A current list of
- all assignments is available from <http://www.iana.org/>.
-
- Note that the port number value zero is reserved by IANA. In
- situations where the value zero does not make sense, it can
- be excluded by subtyping the port-number type.
- In the value set and its semantics, this type is equivalent
- to the InetPortNumber textual convention of the SMIv2.";
- reference
- "RFC 768: User Datagram Protocol
- RFC 793: Transmission Control Protocol
- RFC 4960: Stream Control Transmission Protocol
- RFC 4340: Datagram Congestion Control Protocol (DCCP)
- RFC 4001: Textual Conventions for Internet Network Addresses";
- }
-
- /*** collection of types related to autonomous systems ***/
-
- typedef as-number {
- type uint32;
- description
- "The as-number type represents autonomous system numbers
- which identify an Autonomous System (AS). An AS is a set
- of routers under a single technical administration, using
- an interior gateway protocol and common metrics to route
- packets within the AS, and using an exterior gateway
- protocol to route packets to other ASes. IANA maintains
- the AS number space and has delegated large parts to the
- regional registries.
-
- Autonomous system numbers were originally limited to 16
- bits. BGP extensions have enlarged the autonomous system
- number space to 32 bits. This type therefore uses an uint32
- base type without a range restriction in order to support
- a larger autonomous system number space.
-
- In the value set and its semantics, this type is equivalent
- to the InetAutonomousSystemNumber textual convention of
- the SMIv2.";
- reference
- "RFC 1930: Guidelines for creation, selection, and registration
- of an Autonomous System (AS)
- RFC 4271: A Border Gateway Protocol 4 (BGP-4)
- RFC 4001: Textual Conventions for Internet Network Addresses
- RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
- Number Space";
- }
-
- /*** collection of types related to IP addresses and hostnames ***/
-
- typedef ip-address {
- type union {
- type inet:ipv4-address;
- type inet:ipv6-address;
- }
- description
- "The ip-address type represents an IP address and is IP
- version neutral. The format of the textual representation
- implies the IP version. This type supports scoped addresses
- by allowing zone identifiers in the address format.";
- reference
- "RFC 4007: IPv6 Scoped Address Architecture";
- }
-
- typedef ipv4-address {
- type string {
- pattern
- '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
- + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
- + '(%[\p{N}\p{L}]+)?';
- }
- description
- "The ipv4-address type represents an IPv4 address in
- dotted-quad notation. The IPv4 address may include a zone
- index, separated by a % sign.
-
- The zone index is used to disambiguate identical address
- values. For link-local addresses, the zone index will
- typically be the interface index number or the name of an
- interface. If the zone index is not present, the default
- zone of the device will be used.
-
- The canonical format for the zone index is the numerical
- format";
- }
-
- typedef ipv6-address {
- type string {
- pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
- + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
- + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
- + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
- + '(%[\p{N}\p{L}]+)?';
- pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
- + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
- + '(%.+)?';
- }
- description
- "The ipv6-address type represents an IPv6 address in full,
- mixed, shortened, and shortened-mixed notation. The IPv6
- address may include a zone index, separated by a % sign.
-
- The zone index is used to disambiguate identical address
- values. For link-local addresses, the zone index will
- typically be the interface index number or the name of an
- interface. If the zone index is not present, the default
- zone of the device will be used.
-
- The canonical format of IPv6 addresses uses the textual
- representation defined in Section 4 of RFC 5952. The
- canonical format for the zone index is the numerical
- format as described in Section 11.2 of RFC 4007.";
- reference
- "RFC 4291: IP Version 6 Addressing Architecture
- RFC 4007: IPv6 Scoped Address Architecture
- RFC 5952: A Recommendation for IPv6 Address Text
- Representation";
- }
-
- typedef ip-address-no-zone {
- type union {
- type inet:ipv4-address-no-zone;
- type inet:ipv6-address-no-zone;
- }
- description
- "The ip-address-no-zone type represents an IP address and is
- IP version neutral. The format of the textual representation
- implies the IP version. This type does not support scoped
- addresses since it does not allow zone identifiers in the
- address format.";
- reference
- "RFC 4007: IPv6 Scoped Address Architecture";
- }
-
- typedef ipv4-address-no-zone {
- type inet:ipv4-address {
- pattern '[0-9\.]*';
- }
- description
- "An IPv4 address without a zone index. This type, derived from
- ipv4-address, may be used in situations where the zone is
- known from the context and hence no zone index is needed.";
- }
-
- typedef ipv6-address-no-zone {
- type inet:ipv6-address {
- pattern '[0-9a-fA-F:\.]*';
- }
- description
- "An IPv6 address without a zone index. This type, derived from
- ipv6-address, may be used in situations where the zone is
- known from the context and hence no zone index is needed.";
- reference
- "RFC 4291: IP Version 6 Addressing Architecture
- RFC 4007: IPv6 Scoped Address Architecture
- RFC 5952: A Recommendation for IPv6 Address Text
- Representation";
- }
-
- typedef ip-prefix {
- type union {
- type inet:ipv4-prefix;
- type inet:ipv6-prefix;
- }
- description
- "The ip-prefix type represents an IP prefix and is IP
- version neutral. The format of the textual representations
- implies the IP version.";
- }
-
- typedef ipv4-prefix {
- type string {
- pattern
- '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
- + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
- + '/(([0-9])|([1-2][0-9])|(3[0-2]))';
- }
- description
- "The ipv4-prefix type represents an IPv4 address prefix.
- The prefix length is given by the number following the
- slash character and must be less than or equal to 32.
-
- A prefix length value of n corresponds to an IP address
- mask that has n contiguous 1-bits from the most
- significant bit (MSB) and all other bits set to 0.
-
- The canonical format of an IPv4 prefix has all bits of
- the IPv4 address set to zero that are not part of the
- IPv4 prefix.";
- }
-
- typedef ipv6-prefix {
- type string {
- pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
- + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
- + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
- + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
- + '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))';
- pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
- + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
- + '(/.+)';
- }
-
- description
- "The ipv6-prefix type represents an IPv6 address prefix.
- The prefix length is given by the number following the
- slash character and must be less than or equal to 128.
-
- A prefix length value of n corresponds to an IP address
- mask that has n contiguous 1-bits from the most
- significant bit (MSB) and all other bits set to 0.
-
- The IPv6 address should have all bits that do not belong
- to the prefix set to zero.
-
- The canonical format of an IPv6 prefix has all bits of
- the IPv6 address set to zero that are not part of the
- IPv6 prefix. Furthermore, the IPv6 address is represented
- as defined in Section 4 of RFC 5952.";
- reference
- "RFC 5952: A Recommendation for IPv6 Address Text
- Representation";
- }
-
- /*** collection of domain name and URI types ***/
-
- typedef domain-name {
- type string {
- length "1..253";
- pattern
- '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
- + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
- + '|\.';
- }
- description
- "The domain-name type represents a DNS domain name. The
- name SHOULD be fully qualified whenever possible.
-
- Internet domain names are only loosely specified. Section
- 3.5 of RFC 1034 recommends a syntax (modified in Section
- 2.1 of RFC 1123). The pattern above is intended to allow
- for current practice in domain name use, and some possible
- future expansion. It is designed to hold various types of
- domain names, including names used for A or AAAA records
- (host names) and other records, such as SRV records. Note
- that Internet host names have a stricter syntax (described
- in RFC 952) than the DNS recommendations in RFCs 1034 and
- 1123, and that systems that want to store host names in
- schema nodes using the domain-name type are recommended to
- adhere to this stricter standard to ensure interoperability.
-
- The encoding of DNS names in the DNS protocol is limited
- to 255 characters. Since the encoding consists of labels
- prefixed by a length bytes and there is a trailing NULL
- byte, only 253 characters can appear in the textual dotted
- notation.
-
- The description clause of schema nodes using the domain-name
- type MUST describe when and how these names are resolved to
- IP addresses. Note that the resolution of a domain-name value
- may require to query multiple DNS records (e.g., A for IPv4
- and AAAA for IPv6). The order of the resolution process and
- which DNS record takes precedence can either be defined
- explicitly or may depend on the configuration of the
- resolver.
-
- Domain-name values use the US-ASCII encoding. Their canonical
- format uses lowercase US-ASCII characters. Internationalized
- domain names MUST be A-labels as per RFC 5890.";
- reference
- "RFC 952: DoD Internet Host Table Specification
- RFC 1034: Domain Names - Concepts and Facilities
- RFC 1123: Requirements for Internet Hosts -- Application
- and Support
- RFC 2782: A DNS RR for specifying the location of services
- (DNS SRV)
- RFC 5890: Internationalized Domain Names in Applications
- (IDNA): Definitions and Document Framework";
- }
-
- typedef host {
- type union {
- type inet:ip-address;
- type inet:domain-name;
- }
- description
- "The host type represents either an IP address or a DNS
- domain name.";
- }
-
- typedef uri {
- type string;
- description
- "The uri type represents a Uniform Resource Identifier
- (URI) as defined by STD 66.
-
- Objects using the uri type MUST be in US-ASCII encoding,
- and MUST be normalized as described by RFC 3986 Sections
- 6.2.1, 6.2.2.1, and 6.2.2.2. All unnecessary
- percent-encoding is removed, and all case-insensitive
- characters are set to lowercase except for hexadecimal
- digits, which are normalized to uppercase as described in
- Section 6.2.2.1.
-
- The purpose of this normalization is to help provide
- unique URIs. Note that this normalization is not
- sufficient to provide uniqueness. Two URIs that are
- textually distinct after this normalization may still be
- equivalent.
-
- Objects using the uri type may restrict the schemes that
- they permit. For example, 'data:' and 'urn:' schemes
- might not be appropriate.
-
- A zero-length URI is not a valid URI. This can be used to
- express 'URI absent' where required.
-
- In the value set and its semantics, this type is equivalent
- to the Uri SMIv2 textual convention defined in RFC 5017.";
- reference
- "RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
- RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
- Group: Uniform Resource Identifiers (URIs), URLs,
- and Uniform Resource Names (URNs): Clarifications
- and Recommendations
- RFC 5017: MIB Textual Conventions for Uniform Resource
- Identifiers (URIs)";
- }
-
-}
diff --git a/config-models/aether-2.0.x/files/yang/ietf-yang-types.yang b/config-models/aether-2.0.x/files/yang/ietf-yang-types.yang
deleted file mode 100644
index ee58fa3..0000000
--- a/config-models/aether-2.0.x/files/yang/ietf-yang-types.yang
+++ /dev/null
@@ -1,474 +0,0 @@
-module ietf-yang-types {
-
- namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
- prefix "yang";
-
- organization
- "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
- contact
- "WG Web: <http://tools.ietf.org/wg/netmod/>
- WG List: <mailto:netmod@ietf.org>
-
- WG Chair: David Kessens
- <mailto:david.kessens@nsn.com>
-
- WG Chair: Juergen Schoenwaelder
- <mailto:j.schoenwaelder@jacobs-university.de>
-
- Editor: Juergen Schoenwaelder
- <mailto:j.schoenwaelder@jacobs-university.de>";
-
- description
- "This module contains a collection of generally useful derived
- YANG data types.
-
- Copyright (c) 2013 IETF Trust and the persons identified as
- authors of the code. All rights reserved.
-
- Redistribution and use in source and binary forms, with or
- without modification, is permitted pursuant to, and subject
- to the license terms contained in, the Simplified BSD License
- set forth in Section 4.c of the IETF Trust's Legal Provisions
- Relating to IETF Documents
- (http://trustee.ietf.org/license-info).
-
- This version of this YANG module is part of RFC 6991; see
- the RFC itself for full legal notices.";
-
- revision 2013-07-15 {
- description
- "This revision adds the following new data types:
- - yang-identifier
- - hex-string
- - uuid
- - dotted-quad";
- reference
- "RFC 6991: Common YANG Data Types";
- }
-
- revision 2010-09-24 {
- description
- "Initial revision.";
- reference
- "RFC 6021: Common YANG Data Types";
- }
-
- /*** collection of counter and gauge types ***/
-
- typedef counter32 {
- type uint32;
- description
- "The counter32 type represents a non-negative integer
- that monotonically increases until it reaches a
- maximum value of 2^32-1 (4294967295 decimal), when it
- wraps around and starts increasing again from zero.
-
- Counters have no defined 'initial' value, and thus, a
- single value of a counter has (in general) no information
- content. Discontinuities in the monotonically increasing
- value normally occur at re-initialization of the
- management system, and at other times as specified in the
- description of a schema node using this type. If such
- other times can occur, for example, the creation of
- a schema node of type counter32 at times other than
- re-initialization, then a corresponding schema node
- should be defined, with an appropriate type, to indicate
- the last discontinuity.
-
- The counter32 type should not be used for configuration
- schema nodes. A default statement SHOULD NOT be used in
- combination with the type counter32.
-
- In the value set and its semantics, this type is equivalent
- to the Counter32 type of the SMIv2.";
- reference
- "RFC 2578: Structure of Management Information Version 2
- (SMIv2)";
- }
-
- typedef zero-based-counter32 {
- type yang:counter32;
- default "0";
- description
- "The zero-based-counter32 type represents a counter32
- that has the defined 'initial' value zero.
-
- A schema node of this type will be set to zero (0) on creation
- and will thereafter increase monotonically until it reaches
- a maximum value of 2^32-1 (4294967295 decimal), when it
- wraps around and starts increasing again from zero.
-
- Provided that an application discovers a new schema node
- of this type within the minimum time to wrap, it can use the
- 'initial' value as a delta. It is important for a management
- station to be aware of this minimum time and the actual time
- between polls, and to discard data if the actual time is too
- long or there is no defined minimum time.
-
- In the value set and its semantics, this type is equivalent
- to the ZeroBasedCounter32 textual convention of the SMIv2.";
- reference
- "RFC 4502: Remote Network Monitoring Management Information
- Base Version 2";
- }
-
- typedef counter64 {
- type uint64;
- description
- "The counter64 type represents a non-negative integer
- that monotonically increases until it reaches a
- maximum value of 2^64-1 (18446744073709551615 decimal),
- when it wraps around and starts increasing again from zero.
-
- Counters have no defined 'initial' value, and thus, a
- single value of a counter has (in general) no information
- content. Discontinuities in the monotonically increasing
- value normally occur at re-initialization of the
- management system, and at other times as specified in the
- description of a schema node using this type. If such
- other times can occur, for example, the creation of
- a schema node of type counter64 at times other than
- re-initialization, then a corresponding schema node
- should be defined, with an appropriate type, to indicate
- the last discontinuity.
-
- The counter64 type should not be used for configuration
- schema nodes. A default statement SHOULD NOT be used in
- combination with the type counter64.
-
- In the value set and its semantics, this type is equivalent
- to the Counter64 type of the SMIv2.";
- reference
- "RFC 2578: Structure of Management Information Version 2
- (SMIv2)";
- }
-
- typedef zero-based-counter64 {
- type yang:counter64;
- default "0";
- description
- "The zero-based-counter64 type represents a counter64 that
- has the defined 'initial' value zero.
-
- A schema node of this type will be set to zero (0) on creation
- and will thereafter increase monotonically until it reaches
- a maximum value of 2^64-1 (18446744073709551615 decimal),
- when it wraps around and starts increasing again from zero.
-
- Provided that an application discovers a new schema node
- of this type within the minimum time to wrap, it can use the
- 'initial' value as a delta. It is important for a management
- station to be aware of this minimum time and the actual time
- between polls, and to discard data if the actual time is too
- long or there is no defined minimum time.
-
- In the value set and its semantics, this type is equivalent
- to the ZeroBasedCounter64 textual convention of the SMIv2.";
- reference
- "RFC 2856: Textual Conventions for Additional High Capacity
- Data Types";
- }
-
- typedef gauge32 {
- type uint32;
- description
- "The gauge32 type represents a non-negative integer, which
- may increase or decrease, but shall never exceed a maximum
- value, nor fall below a minimum value. The maximum value
- cannot be greater than 2^32-1 (4294967295 decimal), and
- the minimum value cannot be smaller than 0. The value of
- a gauge32 has its maximum value whenever the information
- being modeled is greater than or equal to its maximum
- value, and has its minimum value whenever the information
- being modeled is smaller than or equal to its minimum value.
- If the information being modeled subsequently decreases
- below (increases above) the maximum (minimum) value, the
- gauge32 also decreases (increases).
-
- In the value set and its semantics, this type is equivalent
- to the Gauge32 type of the SMIv2.";
- reference
- "RFC 2578: Structure of Management Information Version 2
- (SMIv2)";
- }
-
- typedef gauge64 {
- type uint64;
- description
- "The gauge64 type represents a non-negative integer, which
- may increase or decrease, but shall never exceed a maximum
- value, nor fall below a minimum value. The maximum value
- cannot be greater than 2^64-1 (18446744073709551615), and
- the minimum value cannot be smaller than 0. The value of
- a gauge64 has its maximum value whenever the information
- being modeled is greater than or equal to its maximum
- value, and has its minimum value whenever the information
- being modeled is smaller than or equal to its minimum value.
- If the information being modeled subsequently decreases
- below (increases above) the maximum (minimum) value, the
- gauge64 also decreases (increases).
-
- In the value set and its semantics, this type is equivalent
- to the CounterBasedGauge64 SMIv2 textual convention defined
- in RFC 2856";
- reference
- "RFC 2856: Textual Conventions for Additional High Capacity
- Data Types";
- }
-
- /*** collection of identifier-related types ***/
-
- typedef object-identifier {
- type string {
- pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
- + '(\.(0|([1-9]\d*)))*';
- }
- description
- "The object-identifier type represents administratively
- assigned names in a registration-hierarchical-name tree.
-
- Values of this type are denoted as a sequence of numerical
- non-negative sub-identifier values. Each sub-identifier
- value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
- are separated by single dots and without any intermediate
- whitespace.
-
- The ASN.1 standard restricts the value space of the first
- sub-identifier to 0, 1, or 2. Furthermore, the value space
- of the second sub-identifier is restricted to the range
- 0 to 39 if the first sub-identifier is 0 or 1. Finally,
- the ASN.1 standard requires that an object identifier
- has always at least two sub-identifiers. The pattern
- captures these restrictions.
-
- Although the number of sub-identifiers is not limited,
- module designers should realize that there may be
- implementations that stick with the SMIv2 limit of 128
- sub-identifiers.
-
- This type is a superset of the SMIv2 OBJECT IDENTIFIER type
- since it is not restricted to 128 sub-identifiers. Hence,
- this type SHOULD NOT be used to represent the SMIv2 OBJECT
- IDENTIFIER type; the object-identifier-128 type SHOULD be
- used instead.";
- reference
- "ISO9834-1: Information technology -- Open Systems
- Interconnection -- Procedures for the operation of OSI
- Registration Authorities: General procedures and top
- arcs of the ASN.1 Object Identifier tree";
- }
-
- typedef object-identifier-128 {
- type object-identifier {
- pattern '\d*(\.\d*){1,127}';
- }
- description
- "This type represents object-identifiers restricted to 128
- sub-identifiers.
-
- In the value set and its semantics, this type is equivalent
- to the OBJECT IDENTIFIER type of the SMIv2.";
- reference
- "RFC 2578: Structure of Management Information Version 2
- (SMIv2)";
- }
-
- typedef yang-identifier {
- type string {
- length "1..max";
- pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
- pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
- }
- description
- "A YANG identifier string as defined by the 'identifier'
- rule in Section 12 of RFC 6020. An identifier must
- start with an alphabetic character or an underscore
- followed by an arbitrary sequence of alphabetic or
- numeric characters, underscores, hyphens, or dots.
-
- A YANG identifier MUST NOT start with any possible
- combination of the lowercase or uppercase character
- sequence 'xml'.";
- reference
- "RFC 6020: YANG - A Data Modeling Language for the Network
- Configuration Protocol (NETCONF)";
- }
-
- /*** collection of types related to date and time***/
-
- typedef date-and-time {
- type string {
- pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
- + '(Z|[\+\-]\d{2}:\d{2})';
- }
- description
- "The date-and-time type is a profile of the ISO 8601
- standard for representation of dates and times using the
- Gregorian calendar. The profile is defined by the
- date-time production in Section 5.6 of RFC 3339.
-
- The date-and-time type is compatible with the dateTime XML
- schema type with the following notable exceptions:
-
- (a) The date-and-time type does not allow negative years.
-
- (b) The date-and-time time-offset -00:00 indicates an unknown
- time zone (see RFC 3339) while -00:00 and +00:00 and Z
- all represent the same time zone in dateTime.
-
- (c) The canonical format (see below) of data-and-time values
- differs from the canonical format used by the dateTime XML
- schema type, which requires all times to be in UTC using
- the time-offset 'Z'.
-
- This type is not equivalent to the DateAndTime textual
- convention of the SMIv2 since RFC 3339 uses a different
- separator between full-date and full-time and provides
- higher resolution of time-secfrac.
-
- The canonical format for date-and-time values with a known time
- zone uses a numeric time zone offset that is calculated using
- the device's configured known offset to UTC time. A change of
- the device's offset to UTC time will cause date-and-time values
- to change accordingly. Such changes might happen periodically
- in case a server follows automatically daylight saving time
- (DST) time zone offset changes. The canonical format for
- date-and-time values with an unknown time zone (usually
- referring to the notion of local time) uses the time-offset
- -00:00.";
- reference
- "RFC 3339: Date and Time on the Internet: Timestamps
- RFC 2579: Textual Conventions for SMIv2
- XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
- }
-
- typedef timeticks {
- type uint32;
- description
- "The timeticks type represents a non-negative integer that
- represents the time, modulo 2^32 (4294967296 decimal), in
- hundredths of a second between two epochs. When a schema
- node is defined that uses this type, the description of
- the schema node identifies both of the reference epochs.
-
- In the value set and its semantics, this type is equivalent
- to the TimeTicks type of the SMIv2.";
- reference
- "RFC 2578: Structure of Management Information Version 2
- (SMIv2)";
- }
-
- typedef timestamp {
- type yang:timeticks;
- description
- "The timestamp type represents the value of an associated
- timeticks schema node at which a specific occurrence
- happened. The specific occurrence must be defined in the
- description of any schema node defined using this type. When
- the specific occurrence occurred prior to the last time the
- associated timeticks attribute was zero, then the timestamp
- value is zero. Note that this requires all timestamp values
- to be reset to zero when the value of the associated timeticks
- attribute reaches 497+ days and wraps around to zero.
-
- The associated timeticks schema node must be specified
- in the description of any schema node using this type.
-
- In the value set and its semantics, this type is equivalent
- to the TimeStamp textual convention of the SMIv2.";
- reference
- "RFC 2579: Textual Conventions for SMIv2";
- }
-
- /*** collection of generic address types ***/
-
- typedef phys-address {
- type string {
- pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
- }
-
- description
- "Represents media- or physical-level addresses represented
- as a sequence octets, each octet represented by two hexadecimal
- numbers. Octets are separated by colons. The canonical
- representation uses lowercase characters.
-
- In the value set and its semantics, this type is equivalent
- to the PhysAddress textual convention of the SMIv2.";
- reference
- "RFC 2579: Textual Conventions for SMIv2";
- }
-
- typedef mac-address {
- type string {
- pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
- }
- description
- "The mac-address type represents an IEEE 802 MAC address.
- The canonical representation uses lowercase characters.
-
- In the value set and its semantics, this type is equivalent
- to the MacAddress textual convention of the SMIv2.";
- reference
- "IEEE 802: IEEE Standard for Local and Metropolitan Area
- Networks: Overview and Architecture
- RFC 2579: Textual Conventions for SMIv2";
- }
-
- /*** collection of XML-specific types ***/
-
- typedef xpath1.0 {
- type string;
- description
- "This type represents an XPATH 1.0 expression.
-
- When a schema node is defined that uses this type, the
- description of the schema node MUST specify the XPath
- context in which the XPath expression is evaluated.";
- reference
- "XPATH: XML Path Language (XPath) Version 1.0";
- }
-
- /*** collection of string types ***/
-
- typedef hex-string {
- type string {
- pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
- }
- description
- "A hexadecimal string with octets represented as hex digits
- separated by colons. The canonical representation uses
- lowercase characters.";
- }
-
- typedef uuid {
- type string {
- pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
- + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
- }
- description
- "A Universally Unique IDentifier in the string representation
- defined in RFC 4122. The canonical representation uses
- lowercase characters.
-
- The following is an example of a UUID in string representation:
- f81d4fae-7dec-11d0-a765-00a0c91e6bf6
- ";
- reference
- "RFC 4122: A Universally Unique IDentifier (UUID) URN
- Namespace";
- }
-
- typedef dotted-quad {
- type string {
- pattern
- '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
- + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
- }
- description
- "An unsigned 32-bit number expressed in the dotted-quad
- notation, i.e., four octets written as decimal numbers
- and separated with the '.' (full stop) character.";
- }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-aether-types.yang b/config-models/aether-2.0.x/files/yang/onf-aether-types.yang
deleted file mode 100755
index e825723..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-aether-types.yang
+++ /dev/null
@@ -1,223 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-aether-types {
- namespace "http://opennetworking.org/aether/aether-types";
- prefix at;
-
- import ietf-inet-types { prefix inet; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "A set of base types for aether modeling.";
-
- revision "2021-09-10" {
- description "Aether Base Types";
- reference "RFC 6087";
- }
-
- typedef aether-identifier {
- type string {
- length 1..63;
- pattern '[a-z]([a-z0-9-]?[a-z0-9])*';
- }
- description "Identifier for objects in the Aether modeling";
- }
-
- typedef imsi {
- type uint64 {
- }
- description "International Mobile Subscriber Identity";
- }
-
- typedef imei {
- type string {
- length 14..16;
- pattern '[0-9]{14,16}';
- }
- description "International Mobile Equipment Identity";
- }
-
- typedef iccid {
- type string {
- length 19..22;
- pattern '[0-9]{18,21}[0-9A-F]';
- }
- description "Integrated Circuit Card ID";
- }
-
- typedef bitrate {
- type uint64 {
- }
- description "The typedef for bitrate";
- }
-
- typedef burst {
- type uint32 {
- }
- default 625000;
- description "The typedef for burst";
- }
-
- typedef mcc {
- type string {
- pattern '[0-9]{3}';
- }
- description "The typedef for mcc";
- }
-
- typedef mnc {
- type string {
- pattern '[0-9]{2,3}';
- }
- description "The typedef for mnc";
- }
-
- typedef tac {
- type string {
- length 4..8;
- pattern '[0-9A-F\.]*';
- }
- description "The typedef for tac";
- }
-
- typedef ent {
- type uint32 {
- range 0..999;
- }
- description "The typedef for ent";
- }
-
- typedef dnn {
- type string {
- length 1..32;
- }
- description "The typedef for dnn";
- }
-
- typedef sst {
- type uint8 {
- range 1..255;
- }
- description "The typedef for sst";
- }
-
- typedef sd {
- type uint32 {
- range 0..16777215;
- }
- description "The typedef for sd";
- }
-
- typedef qci {
- type uint8 {
- range 1..32;
- }
- description "The typedef for qci";
- }
-
- typedef arp {
- type uint8 {
- range 1..15;
- }
- description "The typedef for arp";
- }
-
- typedef pelr {
- type int8 {
- range 0..10;
- }
- description "The typedef for pelr";
- }
-
- typedef pdb {
- type uint16 {
- range 0..1000;
- }
- description "The typedef for pdb";
- }
-
- typedef priority {
- type uint8 {
- // priorities 201-255 are reserved for system use
- range 0..200;
- }
- description "The typedef for priority";
- }
-
- // "TCP" or "UDP"
- typedef protocol {
- type string {
- length 3;
- pattern "TCP|UDP";
- }
- default "TCP";
- description "The typedef for protocol";
- }
-
- // "ENABLE" | "MAINTENTANCE" | "DISABLE"
- typedef admin-status {
- type string {
- length 0..16;
- pattern "ENABLE|MAINTENANCE|DISABLE";
- }
- default "ENABLE";
- description "The typedef for admin-status";
- }
-
- typedef behavior {
- type string {
- length 0..20;
- pattern "DENY-ALL|ALLOW-ALL|ALLOW-PUBLIC";
- }
- description "The typedef for behavior";
- }
-
- typedef mtu {
- type inet:port-number;
- default 1492;
- description "The typedef for mtu";
- }
-
- typedef description {
- type string {
- length 1..1024;
- }
- description "The typedef for description";
- }
-
- grouping desc-display-name {
- description "reusable leafs for description and display-name";
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf description {
- type description;
- description "long description field";
- }
- }
-
- typedef ipv4-subnet {
- type string {
- pattern
- '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
- + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
- + '(/([0-9]|[1-2][0-9]|3[0-2]))';
- }
- description "IPv4 network in CIDR notation";
- }
-
- typedef host-or-network {
- type union {
- type inet:host;
- type ipv4-subnet;
- }
- description "hostname, ip-address, or network";
- }
-}
-
\ No newline at end of file
diff --git a/config-models/aether-2.0.x/files/yang/onf-application.yang b/config-models/aether-2.0.x/files/yang/onf-application.yang
deleted file mode 100755
index 28a1f1c..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-application.yang
+++ /dev/null
@@ -1,108 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-submodule onf-application {
- belongs-to onf-enterprise { prefix ent; }
-
- import ietf-inet-types{ prefix ietf; }
- 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 at:aether-identifier;
- 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 at:aether-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";
- }
- }
- }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-connectivity-service.yang b/config-models/aether-2.0.x/files/yang/onf-connectivity-service.yang
deleted file mode 100755
index 20bda31..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-connectivity-service.yang
+++ /dev/null
@@ -1,60 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-connectivity-service {
- namespace "http://opennetworking.org/aether/connectivity-service";
- prefix cs;
-
- import ietf-inet-types { prefix inet; }
- import onf-aether-types { prefix at; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "An Aether Connectivity service is the linkage between the
- ROC and a core that provides connectivity.";
-
- revision "2022-01-14" {
- description "Renamed top level container as plural";
- reference "RFC 6020";
- }
-
- revision "2021-10-21" {
- description "An Aether Connectivity Service. Specifies the endpoints where the sdcore-adapter should push configuration to. A single connectivity service may be attached to multiple Enterprises.";
- reference "RFC 6087";
- }
-
- typedef connectivity-service-id {
- type at:aether-identifier;
- description "The typedef for connectivity-service-id";
- }
-
- container connectivity-services {
- description "The connectivity-services top level container";
-
- list connectivity-service {
- key "connectivity-service-id";
- description
- "List of connectivity services";
-
- leaf connectivity-service-id {
- type connectivity-service-id;
- description "ID for this connectivity service.";
- }
-
- uses at:desc-display-name;
-
- leaf core-5g-endpoint {
- type inet:uri;
- description "url of the 5g core";
- }
-
- leaf acc-prometheus-url {
- type inet:uri;
- description
- "URL of ACC prometheus";
- }
- }
- }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-device-group.yang b/config-models/aether-2.0.x/files/yang/onf-device-group.yang
deleted file mode 100755
index 1e03806..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-device-group.yang
+++ /dev/null
@@ -1,111 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-submodule onf-device-group {
- belongs-to onf-enterprise { prefix ent; }
-
- import onf-aether-types { prefix at; }
-
- include onf-ip-domain;
- include onf-traffic-class;
- include onf-device;
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "An aether device group represents a list of device IMSIS.
- This list is expressed as a set of ranges,
- [(from_imsi, to_imsi),
- (from_imsi, to_imsi),
- ...].
- Each device group belongs to a site and has associated
- with it an ip-profile that determines the IP address
- and DNS settings that apply to devices within the
- group";
-
- revision "2022-01-14" {
- description "Refactored as submodule";
- reference "RFC 6020";
- }
-
- revision "2021-06-02" {
- description "An Aether Device Group";
- reference "RFC 6087";
- }
-
- typedef device-group-id {
- type at:aether-identifier;
- description "The typedef for device-group-id";
- }
-
- grouping device-group {
- description "The device-group grouping";
-
- list device-group {
- key "device-group-id";
- description
- "List of device groups";
-
- leaf device-group-id {
- type device-group-id;
- description "ID for this device group.";
- }
-
- uses at:desc-display-name;
-
- list device {
- key "device-id";
- leaf device-id {
- type leafref {
- path "../../../device/device-id";
- }
- description
- "Link to device";
- }
- leaf enable {
- type boolean;
- default true;
- description
- "Enable this device";
- }
- description "list of devices in this device-group";
- }
-
- leaf ip-domain {
- type leafref {
- path "../../ip-domain/ip-domain-id";
- }
- description
- "Link to ip-domain settings that determine the pool of IP addresses,
- as well as the domain resolver settings to use";
- }
-
- container mbr {
- description "Maximum bitrate";
- leaf uplink {
- type at:bitrate;
- units bps;
- mandatory true;
- description "Per-device MBR uplink data rate in bps";
- }
-
- leaf downlink {
- type at:bitrate;
- units bps;
- mandatory true;
- description "Per-device MBR downlink data rate in bps";
- }
- }
-
- leaf traffic-class {
- type leafref {
- path "../../../traffic-class/traffic-class-id";
- }
- mandatory true;
- description
- "Link to traffic class";
- }
- }
- }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-device.yang b/config-models/aether-2.0.x/files/yang/onf-device.yang
deleted file mode 100644
index 3a8abd8..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-device.yang
+++ /dev/null
@@ -1,59 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-submodule onf-device {
- belongs-to onf-enterprise { prefix ent; }
-
- import onf-aether-types { prefix at; }
- include onf-sim-card;
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "A Aether Device...";
-
- revision "2022-01-19" {
- description "An Aether Device";
- reference "RFC 6087";
- }
-
- typedef device-id {
- type at:aether-identifier;
- description "The typedef for device-id";
- }
-
- grouping device {
- description "The top level container";
-
- list device {
- key "device-id";
- unique "imei";
- description
- "List of devices";
-
- leaf device-id {
- type device-id;
- description "ID for this device.";
- }
-
- uses at:desc-display-name;
-
- leaf imei {
- type at:imei;
- description
- "IMEI for this device";
- }
-
- // TODO: Device Type
-
- leaf sim-card {
- type leafref {
- path "../../sim-card/sim-id";
- }
- description
- "Link to simcard";
- }
- }
- }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-enterprise.yang b/config-models/aether-2.0.x/files/yang/onf-enterprise.yang
deleted file mode 100755
index 61a453e..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-enterprise.yang
+++ /dev/null
@@ -1,92 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-enterprise {
- namespace "http://opennetworking.org/aether/enterprise";
- prefix ent;
-
- import onf-aether-types { prefix at; }
- import onf-connectivity-service { prefix cs; }
-
- include onf-site;
- include onf-upf;
- include onf-slice;
- include onf-device-group;
- include onf-ip-domain;
- include onf-application;
- include onf-sim-card;
- include onf-traffic-class;
- include onf-template;
- include onf-device;
- include onf-priority-traffic-rule;
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "An Aether Enterprise is an administration entity that
- has ownership of resrouces.";
-
- revision "2022-01-19" {
- description "Sim-card, Device, and Priority-Traffic-Rule Support";
- reference "RFC 6020";
- }
-
- revision "2022-01-14" {
- description "Refactored to work with submodules";
- reference "RFC 6020";
- }
-
- revision "2021-06-02" {
- description "An Aether Enterprise. Used to distinguish ownership of devices and other resources as well as a domain of configuration.";
- reference "RFC 6087";
- }
-
- typedef enterprise-id {
- type at:aether-identifier;
- description "The typedef for enterprise-id";
- }
-
- container enterprises {
- description "The top level enterprises container";
-
- list enterprise {
- key "enterprise-id";
- description
- "List of enterprises";
-
- leaf enterprise-id {
- type enterprise-id;
- description "ID for this enterprise.";
- }
-
- uses at:desc-display-name;
-
- list connectivity-service {
- key "connectivity-service";
- leaf connectivity-service {
- type leafref {
- path "/cs:connectivity-services/cs:connectivity-service/cs:connectivity-service-id";
- }
- description
- "Link to connectivity services where configuration should be pushed for this enterprise's devices";
- }
- leaf enabled {
- type boolean;
- default true;
- description
- "Allow or disallow pushes to this connectivity service";
- }
- description "The list for connectivity-service";
- }
-
- uses application;
-
- uses traffic-class;
-
- uses template;
-
- uses site;
- }
- }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-ip-domain.yang b/config-models/aether-2.0.x/files/yang/onf-ip-domain.yang
deleted file mode 100755
index dbd81ae..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-ip-domain.yang
+++ /dev/null
@@ -1,83 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-submodule onf-ip-domain {
- belongs-to onf-enterprise { prefix ent; }
-
- import ietf-inet-types { prefix inet; }
- import onf-aether-types { prefix at; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "An Aether IP-Domain. This is a list of available subnets
- that may be assigned to UEs, as well as DNS servers and other
- metadata";
-
- revision "2022-01-14" {
- description "Refactored as submodule";
- reference "RFC 6020";
- }
-
- revision "2021-06-02" {
- description "An Aether IP and Domain Specification";
- reference "RFC 6087";
- }
-
- typedef ip-domain-id {
- type at:aether-identifier;
- description "The typedef for ip-domain-id";
- }
-
- grouping ip-domain {
- description "The ip-domain grouping";
-
- list ip-domain {
- key "ip-domain-id";
- description
- "List of ip domains";
-
- leaf ip-domain-id {
- type ip-domain-id;
- description "ID for this ip domain.";
- }
-
- uses at:desc-display-name;
-
- leaf dnn {
- type at:dnn;
- mandatory true;
- description "DNN/APN";
- }
-
- leaf dns-primary {
- type inet:ip-address;
- description "primary dns server name";
- }
-
- leaf dns-secondary {
- type inet:ip-address;
- description "secondary dns server name";
- }
-
- // Note: Cannot use a subnet as a list key. Dropped support from a
- // list of subnets to a single subnet. Revisit in the future.
- leaf subnet {
- type inet:ipv4-prefix;
- mandatory true;
- description "subnet to allocate ip addresses from";
- }
-
- leaf admin-status {
- type at:admin-status;
- description "administrative status";
- }
-
- leaf mtu {
- type at:mtu;
- description "maximum transmission unit";
- }
- }
- }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-priority-traffic-rule.yang b/config-models/aether-2.0.x/files/yang/onf-priority-traffic-rule.yang
deleted file mode 100755
index 2706eba..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-priority-traffic-rule.yang
+++ /dev/null
@@ -1,112 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-submodule onf-priority-traffic-rule {
- belongs-to onf-enterprise { prefix ent; }
-
- 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 at:aether-identifier;
- 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";
- }
- }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-sim-card.yang b/config-models/aether-2.0.x/files/yang/onf-sim-card.yang
deleted file mode 100644
index b263f33..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-sim-card.yang
+++ /dev/null
@@ -1,54 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-submodule onf-sim-card {
- belongs-to onf-enterprise { prefix ent; }
-
- import onf-aether-types { prefix at; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "A Aether Device...";
-
- revision "2022-01-19" {
- description "An Aether Device";
- reference "RFC 6087";
- }
-
- typedef sim-card-id {
- type at:aether-identifier;
- description "The typedef for device-id";
- }
-
- grouping sim-card {
- description "The top level container";
-
- list sim-card {
- key "sim-id";
- unique "iccid";
- description
- "List of sim cards";
-
- leaf sim-id {
- type sim-card-id;
- description "ID for this sim card.";
- }
-
- uses at:desc-display-name;
-
- leaf iccid {
- type at:iccid;
- description
- "ICCID for this sim card";
- }
-
- leaf imsi {
- type at:imsi;
- description
- "IMSI for this sim card";
- }
- }
- }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-site.yang b/config-models/aether-2.0.x/files/yang/onf-site.yang
deleted file mode 100755
index ae89379..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-site.yang
+++ /dev/null
@@ -1,161 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-submodule onf-site {
- belongs-to onf-enterprise { prefix ent; }
-
- import ietf-inet-types { prefix inet; }
- import onf-aether-types{ prefix at; }
-
- include onf-device;
- include onf-sim-card;
- include onf-upf;
- include onf-slice;
- include onf-device-group;
- include onf-ip-domain;
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "An Aether site is a location where resources are deployed.";
-
- revision "2022-01-14" {
- description "Refactored as submodule";
- reference "RFC 6020";
- }
-
- revision "2021-09-10" {
- description "An Aether Site.";
- reference "RFC 6087";
- }
-
- typedef site-id {
- type at:aether-identifier;
- description "The typedef for site-id";
- }
-
- grouping site {
- description "The site grouping";
-
- list site {
- key "site-id";
- description
- "List of site";
-
- leaf site-id {
- type site-id;
- description "ID for this site.";
- }
-
- uses at:desc-display-name;
-
- list small-cell {
- key "small-cell-id";
- leaf small-cell-id {
- type at:aether-identifier;
- description
- "Id of small cell";
- }
-
- uses at:desc-display-name;
-
- leaf address {
- type inet:host;
- description
- "Address of small cell";
- }
- leaf tac {
- type at:tac;
- mandatory true;
- description
- "Type Allocation Code";
- }
- leaf enable {
- type boolean;
- default true;
- description
- "Enable this small cell";
- }
- description
- "List of small cell addresses";
- }
-
- container monitoring {
- leaf edge-cluster-prometheus-url {
- type inet:uri;
- description
- "URL of edge cluster prometheus";
- }
- leaf edge-monitoring-prometheus-url {
- type inet:uri;
- description
- "URL of monitoring prometheus";
- }
- list edge-device {
- key "edge-device-id";
- leaf edge-device-id {
- type at:aether-identifier;
- description
- "Id of edge monitoring device";
- }
- uses at:desc-display-name;
-
- description
- "List of edge monitoring devices";
- }
- description
- "container for monitoring";
- }
-
- container imsi-definition {
- leaf mcc {
- type at:mcc;
- mandatory true;
- description "mobile country code";
- }
- leaf mnc {
- type at:mnc;
- mandatory true;
- description "mobile network code";
- }
- leaf enterprise {
- type at:ent;
- mandatory true;
- description "enterprise-specific identifier";
- }
- leaf format {
- type string {
- length 15;
- }
- mandatory true;
- description "IMSI format specifier, describes how fields are packed into an IMSI. Must be exactly 15 characters long. For example, CCCNNNEEESSSSSS.";
- // Format specifiers:
- // C = MCC
- // N = MNC
- // E = Enterprise
- // 0 = Forced Zero
- // S = Subscriber ID
- // default is
- // 3 digit MCC
- // 3 digit MNC
- // 3 digit enterprise ID
- // 5 digit subscriber ID
- }
- description "container for imsi-defination";
- }
-
- uses device;
-
- uses sim-card;
-
- uses upf;
-
- uses slice;
-
- uses device-group;
-
- uses ip-domain;
- }
- }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-slice.yang b/config-models/aether-2.0.x/files/yang/onf-slice.yang
deleted file mode 100755
index cad763f..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-slice.yang
+++ /dev/null
@@ -1,159 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-submodule onf-slice {
- belongs-to onf-enterprise { prefix ent; }
-
- import onf-aether-types{ prefix at; }
-
- include onf-upf;
- include onf-device-group;
- include onf-application;
- include onf-priority-traffic-rule;
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "An Aether Slice is
- used to connect devices with applications";
-
- revision "2022-01-14" {
- description "Refactored as submodule";
- reference "RFC 6020";
- }
-
- revision "2021-09-10" {
- description "An Aether Slice";
- reference "RFC 6087";
- }
-
- typedef slice-id {
- type at:aether-identifier;
- description "The typedef for slice-id";
- }
-
- grouping slice {
- description "The slice grouping";
-
- list slice {
- key "slice-id";
- description
- "List of Slices";
-
- leaf slice-id {
- type slice-id;
- description "ID for this slice.";
- }
-
- uses at:desc-display-name;
-
- list device-group {
- key "device-group";
- leaf device-group {
- type leafref {
- path "../../../device-group/device-group-id";
- }
- description
- "Link to device group";
- }
- leaf enable {
- type boolean;
- default true;
- description
- "Enable this device group";
- }
- description
- "A list of device groups. Groups will only participate in
- the Slice if the enable field is set to True";
- }
-
- leaf default-behavior {
- type at:behavior;
- mandatory true;
- description
- "Default behavior if no filter rules match";
- }
-
- list filter {
- key "application";
- leaf application {
- type leafref {
- path "../../../../application/application-id";
- }
- mandatory true;
- description
- "Link to application";
- }
- leaf priority {
- type at:priority;
- default 0;
- description
- "Priority of this application";
- }
- leaf allow {
- type boolean;
- default true;
- description
- "Allow or deny this application";
- }
- description
- "A list of applications to allow and/or deny. Rules are executed in
- priority order. The first rule to match will determine the fate
- of the packet.";
- }
-
- leaf upf {
- type leafref {
- path "../../upf/upf-id";
- }
- description
- "Link to user plane that implements this vcf";
- }
-
- // the following are populated from the template
- leaf sst {
- type at:sst;
- mandatory true;
- description "Slice/Service type. Immutable.";
- }
-
- leaf sd {
- type at:sd;
- mandatory true;
- description "Slice differentiator. Immutable.";
- }
-
- container mbr {
- description "Per slice Maximum Bit Rate";
- leaf uplink {
- type at:bitrate;
- units bps;
- description "Per-Slice MBR uplink data rate in bps";
- }
-
- leaf downlink {
- type at:bitrate;
- units bps;
- description "Per-Slice MBR downlink data rate in bps";
- }
-
- leaf uplink-burst-size {
- type at:burst;
- units bytes;
- description "Per-Slice Uplink burst size";
- }
-
- leaf downlink-burst-size {
- type at:burst;
- units bytes;
- description "Per-Slice Downlink burst size";
- }
- }
-
- // end of items populated from the template
- uses priority-traffic-rule;
-
- }
- }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-template.yang b/config-models/aether-2.0.x/files/yang/onf-template.yang
deleted file mode 100755
index a96b9bc..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-template.yang
+++ /dev/null
@@ -1,92 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-submodule onf-template {
- belongs-to onf-enterprise { prefix ent; }
-
- import onf-aether-types{ prefix at; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "The aether slice-template holds common parameters used
- by a Slice. Templates are used to
- populate a Slice.";
-
- revision "2022-01-14" {
- description "Refactored as submodule";
- reference "RFC 6020";
- }
-
- revision "2021-09-10" {
- description "An Aether Slice Template";
- reference "RFC 6087";
- }
-
- typedef template-id {
- type at:aether-identifier;
- description "The typedef for template-id";
- }
-
- grouping template {
- description "The template grouping";
-
- list template {
- key "template-id";
- description
- "List of slice templates";
-
- leaf template-id {
- type template-id;
- description "ID for this slice template.";
- }
-
- uses at:desc-display-name;
-
- leaf sst {
- type at:sst;
- description "Slice/Service type";
- }
-
- leaf sd {
- type at:sd;
- description "Slice differentiator";
- }
-
- container mbr {
- description "Per-Slice QOS Settings Maximum Bit Rate";
- leaf uplink {
- type at:bitrate;
- units bps;
- description "Per-Slice MBR uplink data rate in bps";
- }
-
- leaf downlink {
- type at:bitrate;
- units bps;
- description "Per-Slice MBR downlink data rate in bps";
- }
-
- leaf uplink-burst-size {
- type at:burst;
- units bytes;
- description "Per-Slice Uplink burst size";
- }
-
- leaf downlink-burst-size {
- type at:burst;
- units bytes;
- description "Per-Slice Downlink burst size";
- }
- }
-
- leaf default-behavior {
- type at:behavior;
- mandatory true;
- description
- "Default behavior if no filter rules match";
- }
- }
- }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-traffic-class.yang b/config-models/aether-2.0.x/files/yang/onf-traffic-class.yang
deleted file mode 100755
index 5f1e021..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-traffic-class.yang
+++ /dev/null
@@ -1,67 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-submodule onf-traffic-class {
- belongs-to onf-enterprise { prefix ent; }
-
- import onf-aether-types{ prefix at; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "The aether traffic class associates qos constants
- with a named class of service";
-
- revision "2022-01-14" {
- description "Refactored as submodule";
- reference "RFC 6020";
- }
-
- revision "2021-09-10" {
- description "An Aether Traffic Class";
- reference "RFC 6087";
- }
-
- typedef traffic-class-id {
- type at:aether-identifier;
- description "The typedef for traffic-class-id";
- }
-
- grouping traffic-class {
- description "The traffic-class grouping";
-
- list traffic-class {
- key "traffic-class-id";
- description
- "List of traffic class";
-
- leaf traffic-class-id {
- type traffic-class-id;
- description "ID for this traffic class.";
- }
-
- uses at:desc-display-name;
-
- leaf arp {
- type at:arp;
- description "Allocation and Retention Priority. 1 is the highest. 15 is the lowest.";
- }
-
- leaf qci {
- type at:qci;
- description "QOS Class Identifier";
- }
-
- leaf pelr {
- type at:pelr;
- description "PELR exponent";
- }
-
- leaf pdb {
- type at:pdb;
- description "PDB";
- }
- }
- }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-upf.yang b/config-models/aether-2.0.x/files/yang/onf-upf.yang
deleted file mode 100755
index fdfbafc..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-upf.yang
+++ /dev/null
@@ -1,65 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-submodule onf-upf {
- belongs-to onf-enterprise { prefix ent; }
-
- import ietf-inet-types { prefix inet; }
- import onf-aether-types { prefix at; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "A Aether UPF List is a named User Plane Function.";
-
- revision "2022-01-14" {
- description "Refactored as submodule";
- reference "RFC 6020";
- }
-
- revision "2021-09-16" {
- description "An Aether User Plane Function";
- reference "RFC 6087";
- }
-
- typedef upf-id {
- type at:aether-identifier;
- description "The typedef for upf-id";
- }
-
- grouping upf {
- description "The upf grouping";
-
- list upf {
- key "upf-id";
- description
- "A list of named upfs.";
-
- leaf upf-id {
- type upf-id;
- description "ID for this upf.";
- }
-
- uses at:desc-display-name;
-
- leaf address {
- type inet:host;
- mandatory true;
- description
- "Address of UPF";
- }
-
- leaf port {
- type inet:port-number;
- mandatory true;
- description
- "Port for UPF";
- }
-
- leaf config-endpoint {
- type inet:uri;
- description "url for configuring the UPF";
- }
- }
- }
-}
diff --git a/config-models/aether-2.0.x/templates/_helpers.tpl b/config-models/aether-2.0.x/templates/_helpers.tpl
deleted file mode 100644
index bb84c33..0000000
--- a/config-models/aether-2.0.x/templates/_helpers.tpl
+++ /dev/null
@@ -1,52 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
-SPDX-License-Identifier: Apache-2.0
-
-Expand the name of the chart.
-*/}}
-{{- define "aether.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-If release name contains chart name it will be used as a full name.
-*/}}
-{{- define "aether.fullname" -}}
-{{- if contains "config-model-aether" .Release.Name -}}
-{{- printf "%s-%s" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- printf "%s-%s-config-model-aether" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "aether.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-
-{{/*
-Common labels
-*/}}
-{{- define "aether.labels" -}}
-helm.sh/chart: {{ include "aether.chart" . }}
-{{ include "aether.selectorLabels" . }}
-{{- if .Chart.AppVersion }}
-app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
-{{- end }}
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- end -}}
-
-{{/*
-Selector labels
-*/}}
-{{- define "aether.selectorLabels" -}}
-app.kubernetes.io/name: {{ include "aether.name" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end -}}
-}
diff --git a/config-models/aether-2.0.x/templates/model.yaml b/config-models/aether-2.0.x/templates/model.yaml
deleted file mode 100644
index f3a73f0..0000000
--- a/config-models/aether-2.0.x/templates/model.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: config.onosproject.org/v1beta1
-kind: Model
-metadata:
- name: {{ template "aether.fullname" . }}
- namespace: {{ .Release.Namespace }}
- labels:
- {{- include "aether.labels" . | nindent 4 }}
-spec:
- plugin:
- type: Aether
- version: {{ .Chart.AppVersion | quote }}
- modules:
- - name: onf-connectivity-service
- organization: Open Networking Foundation
- revision: 2022-01-14
- file: onf-connectivity-service.yang
- - name: onf-enterprise
- organization: Open Networking Foundation
- revision: 2022-01-14
- file: onf-enterprise.yang
- files:
- {{- range $path, $_ := $.Files.Glob "files/yang/*.yang" }}
- {{ base $path }}: |
-{{ $.Files.Get $path | indent 6 }}
- {{- end }}
diff --git a/config-models/aether-2.0.x/values.yaml b/config-models/aether-2.0.x/values.yaml
deleted file mode 100644
index aec2bd5..0000000
--- a/config-models/aether-2.0.x/values.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-# SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
diff --git a/config-models/aether-2.1.x/.helmignore b/config-models/aether-2.1.x/.helmignore
deleted file mode 100644
index 862263b..0000000
--- a/config-models/aether-2.1.x/.helmignore
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-FileCopyrightText: 2021 Open Networking Foundation
-#
-# SPDX-License-Identifier: Apache-2.0
-
-# Patterns to ignore when building packages.
-# This supports shell glob matching, relative path matching, and
-# negation (prefixed with !). Only one pattern per line.
-.DS_Store
-# Common VCS dirs
-.git/
-.gitignore
-.bzr/
-.bzrignore
-.hg/
-.hgignore
-.svn/
-# Common backup files
-*.swp
-*.bak
-*.tmp
-*~
-# Various IDEs
-.project
-.idea/
-*.tmproj
diff --git a/config-models/aether-2.1.x/Chart.yaml b/config-models/aether-2.1.x/Chart.yaml
deleted file mode 100644
index f073808..0000000
--- a/config-models/aether-2.1.x/Chart.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: v2
-name: config-model-aether-2
-version: 2.1.6
-kubeVersion: ">=1.18.0"
-appVersion: 2.1.0
-description: Aether config model
-keywords:
- - onos
- - sdn
- - config
-home: https://onosproject.org
-maintainers:
- - name: ONOS Support
- email: support@opennetworking.org
diff --git a/config-models/aether-2.1.x/files/aether-2.1.0.tree b/config-models/aether-2.1.x/files/aether-2.1.0.tree
deleted file mode 100644
index 84dd39a..0000000
--- a/config-models/aether-2.1.x/files/aether-2.1.0.tree
+++ /dev/null
@@ -1,153 +0,0 @@
-module: access-profile
- +--rw access-profile
- +--rw access-profile* [id]
- +--rw id access-profile-id
- +--rw display-name? string
- +--rw type? string
- +--rw filter? string
- +--rw description? string
-
-module: aether-subscriber
- +--rw subscriber
- +--rw ue* [id]
- +--rw id ietf:uuid
- +--rw display-name? string
- +--rw (imsi)?
- | +--:(wildcard)
- | | +--rw imsi-wildcard? string
- | +--:(range)
- | +--rw imsi-range-from? uint64
- | +--rw imsi-range-to? uint64
- +--rw serving-plmn
- | +--rw mcc? mcc
- | +--rw mnc? mnc
- | +--rw tac? tac
- +--rw requested-apn? string
- +--rw priority? uint32
- +--rw enabled? boolean
- +--rw enterprise? -> /ent:enterprise/enterprise/id
- +--rw profiles
- +--rw apn-profile? -> /apn:apn-profile/apn-profile/id
- +--rw up-profile? -> /up:up-profile/up-profile/id
- +--rw qos-profile? -> /qos:qos-profile/qos-profile/id
- +--rw access-profile* [access-profile]
- | +--rw access-profile -> /ap:access-profile/access-profile/id
- | +--rw allowed? boolean
- +--rw security-profile? -> /sec:security-profile/security-profile/id
-
-module: apn-profile
- +--rw apn-profile
- +--rw apn-profile* [id]
- +--rw id apn-profile-id
- +--rw display-name? string
- +--rw apn-name? string
- +--rw dns-primary? inet:ip-address
- +--rw dns-secondary? inet:ip-address
- +--rw mtu? uint32
- +--rw gx-enabled? boolean
- +--rw description? string
- +--rw service-group? -> /sg:service-group/service-group/id
-
-module: connectivity-service
- +--rw connectivity-service
- +--rw connectivity-service* [id]
- +--rw id connectivity-service-id
- +--rw display-name? string
- +--rw description? string
- +--rw spgwc-endpoint? inet:uri
- +--rw hss-endpoint? inet:uri
- +--rw pcrf-endpoint? inet:uri
-
-module: enterprise
- +--rw enterprise
- +--rw enterprise* [id]
- +--rw id enterprise-id
- +--rw display-name? string
- +--rw description? string
- +--rw connectivity-service* [connectivity-service]
- +--rw connectivity-service -> /cs:connectivity-service/connectivity-service/id
- +--rw enabled? boolean
-
-module: qos-profile
- +--rw qos-profile
- +--rw qos-profile* [id]
- +--rw id qos-profile-id
- +--rw display-name? string
- +--rw apn-ambr
- | +--rw uplink? uint32
- | +--rw downlink? uint32
- +--rw qci? uint32
- +--rw arp
- | +--rw priority? uint32
- | +--rw preemption-capability? boolean
- | +--rw preemption-vulnerability? boolean
- +--rw description? string
-
-module: security-profile
- +--rw security-profile
- +--rw security-profile* [id]
- +--rw id security-profile-id
- +--rw display-name? string
- +--rw key? string
- +--rw opc? string
- +--rw sqn? uint32
- +--rw description? string
-
-module: service-group
- +--rw service-group
- +--rw service-group* [id]
- +--rw id service-group-id
- +--rw display-name? string
- +--rw service-policies* [service-policy]
- | +--rw service-policy -> /serv:service-policy/service-policy/id
- | +--rw kind? service-kind
- +--rw description? string
-
-module: service-policy
- +--rw service-policy
- +--rw service-policy* [id]
- +--rw id service-policy-id
- +--rw display-name? string
- +--rw qci? uint32
- +--rw arp? uint32
- +--rw ambr
- | +--rw uplink? uint32
- | +--rw downlink? uint32
- +--rw rules* [rule]
- | +--rw rule -> /sr:service-rule/service-rule/id
- | +--rw enabled? boolean
- +--rw description? string
-
-module: service-rule
- +--rw service-rule
- +--rw service-rule* [id]
- +--rw id service-rule-id
- +--rw display-name? string
- +--rw charging-rule-name? string
- +--rw qos
- | +--rw qci? uint32
- | +--rw arp
- | | +--rw priority? uint32
- | | +--rw preemption-capability? boolean
- | | +--rw preemption-vulnerability? boolean
- | +--rw maximum-requested-bandwidth
- | | +--rw uplink? uint32
- | | +--rw downlink? uint32
- | +--rw guaranteed-bitrate
- | | +--rw uplink? uint32
- | | +--rw downlink? uint32
- | +--rw aggregate-maximum-bitrate
- | +--rw uplink? uint32
- | +--rw downlink? uint32
- +--rw flow
- | +--rw specification? string
- +--rw description? string
-
-module: up-profile
- +--rw up-profile
- +--rw up-profile* [id]
- +--rw id up-profile-id
- +--rw display-name? string
- +--rw user-plane? string
- +--rw access-control? string
- +--rw description? string
diff --git a/config-models/aether-2.1.x/files/yang/access-profile.yang b/config-models/aether-2.1.x/files/yang/access-profile.yang
deleted file mode 100755
index 49009fe..0000000
--- a/config-models/aether-2.1.x/files/yang/access-profile.yang
+++ /dev/null
@@ -1,72 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module access-profile {
- namespace "http://opennetworking.org/aether/access-profile";
- prefix pro;
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2020-10-22" {
- description "An Aether access Profile";
- reference "RFC 6087";
- }
-
- // TODO: Think more on whether this should be a UUID or
- // simply a unique name. If it's a UUID, could fix the
- // string length.
- typedef access-profile-id {
- type string {
- length 1..32;
- }
- description "The typedef for access-profile-id";
- }
-
- container access-profile {
- description "The top level container";
-
- list access-profile {
- key "id";
- description
- "List of access profiles";
-
- leaf id {
- type access-profile-id;
- description "ID for this access profile.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf type {
- type string {
- length 1..32;
- }
- description "type of profile";
- }
-
- leaf filter {
- type string {
- length 0..32;
- }
- description "filter";
- }
-
- leaf description {
- type string {
- length 1..100;
- }
- description "description of this profile";
- }
- }
- }
-}
diff --git a/config-models/aether-2.1.x/files/yang/aether-subscriber.yang b/config-models/aether-2.1.x/files/yang/aether-subscriber.yang
deleted file mode 100755
index 397bd97..0000000
--- a/config-models/aether-2.1.x/files/yang/aether-subscriber.yang
+++ /dev/null
@@ -1,188 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module aether-subscriber {
- namespace "http://opennetworking.org/aether/subscriber";
- prefix sub;
-
- import apn-profile{ prefix apn; }
- import qos-profile{ prefix qos; }
- import up-profile{ prefix up; }
- import access-profile{ prefix ap; }
- import security-profile{ prefix sec; }
- import enterprise{ prefix ent; }
- import ietf-yang-types{ prefix ietf; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2020-10-22" {
- description "An Aether Subscriber";
- reference "RFC 6087";
- }
-
- typedef mcc {
- type uint32 {
- range 0..999;
- }
- description "The typedef for mcc";
- }
-
- typedef mnc {
- type uint32 {
- range 0..999;
- }
- description "The typedef for mnc";
- }
-
- typedef tac {
- type uint32 {
- range 0..99999999;
- }
- description "The typedef for tac";
- }
-
- container subscriber {
- description "The top level container";
-
- list ue {
- key "id";
- description
- "List of subscriber devices";
-
- leaf id {
- type ietf:uuid;
- description "identifier for this subscriber, typically a UUID";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- choice imsi {
- case wildcard {
- leaf imsi-wildcard {
- type string {
- length 1..15;
- }
- description "leaf for imsi-wildcard";
- }
- }
- case range {
- leaf imsi-range-from {
- type uint64;
- description "leaf for imsi-range-from";
- }
- leaf imsi-range-to {
- type uint64;
- description "leaf for imsi-range-to";
- }
- }
- description "The choice for imsi";
- }
-
- container serving-plmn {
- leaf mcc {
- type mcc;
- description "mobile country code";
- }
- leaf mnc {
- type mnc;
- description "mobile network code";
- }
- leaf tac {
- type tac;
- description "type allocation code";
- }
- description "The container for serving-plmn";
- }
-
- leaf requested-apn {
- type string {
- length 0..31;
- }
- description "requested access point name";
- }
-
- leaf priority {
- type uint32 {
- range 0..1000;
- }
- default 0;
- description
- "Priority for this subscriber range";
- }
-
- leaf enabled {
- type boolean;
- default false;
- description
- "Enable or disable this ue";
- }
-
- leaf enterprise {
- type leafref {
- path "/ent:enterprise/ent:enterprise/ent:id";
- }
- description
- "Link to enterprise that owns this UE range";
- }
-
- container profiles {
- leaf apn-profile {
- type leafref {
- path "/apn:apn-profile/apn:apn-profile/apn:id";
- }
- description
- "Link to apn profile";
- }
- leaf up-profile {
- type leafref {
- path "/up:up-profile/up:up-profile/up:id";
- }
- description
- "Link to user plane profile";
- }
- leaf qos-profile {
- type leafref {
- path "/qos:qos-profile/qos:qos-profile/qos:id";
- }
- description
- "Link to qos profile";
- }
- list access-profile {
- key "access-profile";
- leaf access-profile {
- type leafref {
- path "/ap:access-profile/ap:access-profile/ap:id";
- }
- description
- "Link to access profile";
- }
- leaf allowed {
- type boolean;
- default true;
- description
- "Allow or disallow this ue to use this access profile";
- }
- description "The list for access-profile";
- }
- leaf security-profile {
- type leafref {
- path "/sec:security-profile/sec:security-profile/sec:id";
- }
- description
- "Link to security profile";
- }
- description "The container for profiles";
- }
- }
- }
-}
diff --git a/config-models/aether-2.1.x/files/yang/apn-profile.yang b/config-models/aether-2.1.x/files/yang/apn-profile.yang
deleted file mode 100755
index 3d0ba48..0000000
--- a/config-models/aether-2.1.x/files/yang/apn-profile.yang
+++ /dev/null
@@ -1,101 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module apn-profile {
- namespace "http://opennetworking.org/aether/apn-profile";
- prefix pro;
-
- import ietf-inet-types { prefix inet; }
- import service-group { prefix sg; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2021-03-04" {
- description "An Aether APN Profile";
- reference "RFC 6087";
- }
-
- // TODO: Think more on whether this should be a UUID or
- // simply a unique name. If it's a UUID, could fix the
- // string length.
- typedef apn-profile-id {
- type string {
- length 1..32;
- }
- description "The typedef for apn-profile-id";
- }
-
- container apn-profile {
- description "The top level container";
-
- list apn-profile {
- key "id";
- description
- "List of apn profiles";
-
- leaf id {
- type apn-profile-id;
- description "ID for this apn profile.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf apn-name {
- type string {
- length 1..32;
- }
- description "apn name";
- }
-
- leaf dns-primary {
- type inet:ip-address;
- description "primary dns server name";
- }
-
- leaf dns-secondary {
- type inet:ip-address;
- description "secondary dns server name";
- }
-
- leaf mtu {
- type uint32 {
- range 68..65535;
- }
- units bytes;
- default 1460;
- description "maximum transmission unit";
- }
-
- leaf gx-enabled {
- type boolean;
- default false;
- description "enable gx interface";
- }
-
- leaf description {
- type string {
- length 1..100;
- }
- description "description of this profile";
- }
-
- leaf service-group {
- type leafref {
- path "/sg:service-group/sg:service-group/sg:id";
- }
- description
- "Link to service group";
- }
- }
- }
-}
diff --git a/config-models/aether-2.1.x/files/yang/connectivity-service.yang b/config-models/aether-2.1.x/files/yang/connectivity-service.yang
deleted file mode 100755
index 7a00b2f..0000000
--- a/config-models/aether-2.1.x/files/yang/connectivity-service.yang
+++ /dev/null
@@ -1,72 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module connectivity-service {
- namespace "http://opennetworking.org/aether/connectivity-service";
- prefix cs;
-
- import ietf-inet-types { prefix inet; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2021-03-18" {
- description "An Aether Connectivity Service. Specifies the endpoints where the sdcore-adapter should push configuration to. A single connectivity service may be attached to multiple Enterprises.";
- reference "RFC 6087";
- }
-
- typedef connectivity-service-id {
- type string {
- length 1..32;
- }
- description "The typedef for connectivity-service-id";
- }
-
- container connectivity-service {
- description "The top level container";
-
- list connectivity-service {
- key "id";
- description
- "List of connectivity services";
-
- leaf id {
- type connectivity-service-id;
- description "ID for this connectivity service.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf description {
- type string {
- length 1..100;
- }
- description "description of this connectivity service";
- }
-
- leaf spgwc-endpoint {
- type inet:uri;
- description "url of the spgwc service";
- }
-
- leaf hss-endpoint {
- type inet:uri;
- description "url of the hss service";
- }
-
- leaf pcrf-endpoint {
- type inet:uri;
- description "url of the pcrf service";
- }
- }
- }
-}
diff --git a/config-models/aether-2.1.x/files/yang/enterprise.yang b/config-models/aether-2.1.x/files/yang/enterprise.yang
deleted file mode 100755
index dfb1b60..0000000
--- a/config-models/aether-2.1.x/files/yang/enterprise.yang
+++ /dev/null
@@ -1,75 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module enterprise {
- namespace "http://opennetworking.org/aether/enterprise";
- prefix ent;
-
- import connectivity-service { prefix cs; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2020-11-30" {
- description "An Aether Enterprise. Used to distinguish ownership of devices and other resources as well as a domain of configuration.";
- reference "RFC 6087";
- }
-
- typedef enterprise-id {
- type string {
- length 1..32;
- }
- description "The typedef for enterprise-id";
- }
-
- container enterprise {
- description "The top level container";
-
- list enterprise {
- key "id";
- description
- "List of enterprises";
-
- leaf id {
- type enterprise-id;
- description "ID for this enterprise.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf description {
- type string {
- length 1..100;
- }
- description "description of this enterprise";
- }
-
- list connectivity-service {
- key "connectivity-service";
- leaf connectivity-service {
- type leafref {
- path "/cs:connectivity-service/cs:connectivity-service/cs:id";
- }
- description
- "Link to connectivity services where configuration should be pushed for this enterprise's devices";
- }
- leaf enabled {
- type boolean;
- default true;
- description
- "Allow or disallow pushes to this connectivity service";
- }
- description "The list for connectivity-service";
- }
- }
- }
-}
diff --git a/config-models/aether-2.1.x/files/yang/ietf-inet-types.yang b/config-models/aether-2.1.x/files/yang/ietf-inet-types.yang
deleted file mode 100644
index fa57f75..0000000
--- a/config-models/aether-2.1.x/files/yang/ietf-inet-types.yang
+++ /dev/null
@@ -1,458 +0,0 @@
-module ietf-inet-types {
-
- namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types";
- prefix "inet";
-
- organization
- "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
- contact
- "WG Web: <http://tools.ietf.org/wg/netmod/>
- WG List: <mailto:netmod@ietf.org>
-
- WG Chair: David Kessens
- <mailto:david.kessens@nsn.com>
-
- WG Chair: Juergen Schoenwaelder
- <mailto:j.schoenwaelder@jacobs-university.de>
-
- Editor: Juergen Schoenwaelder
- <mailto:j.schoenwaelder@jacobs-university.de>";
-
- description
- "This module contains a collection of generally useful derived
- YANG data types for Internet addresses and related things.
-
- Copyright (c) 2013 IETF Trust and the persons identified as
- authors of the code. All rights reserved.
-
- Redistribution and use in source and binary forms, with or
- without modification, is permitted pursuant to, and subject
- to the license terms contained in, the Simplified BSD License
- set forth in Section 4.c of the IETF Trust's Legal Provisions
- Relating to IETF Documents
- (http://trustee.ietf.org/license-info).
-
- This version of this YANG module is part of RFC 6991; see
- the RFC itself for full legal notices.";
-
- revision 2013-07-15 {
- description
- "This revision adds the following new data types:
- - ip-address-no-zone
- - ipv4-address-no-zone
- - ipv6-address-no-zone";
- reference
- "RFC 6991: Common YANG Data Types";
- }
-
- revision 2010-09-24 {
- description
- "Initial revision.";
- reference
- "RFC 6021: Common YANG Data Types";
- }
-
- /*** collection of types related to protocol fields ***/
-
- typedef ip-version {
- type enumeration {
- enum unknown {
- value "0";
- description
- "An unknown or unspecified version of the Internet
- protocol.";
- }
- enum ipv4 {
- value "1";
- description
- "The IPv4 protocol as defined in RFC 791.";
- }
- enum ipv6 {
- value "2";
- description
- "The IPv6 protocol as defined in RFC 2460.";
- }
- }
- description
- "This value represents the version of the IP protocol.
-
- In the value set and its semantics, this type is equivalent
- to the InetVersion textual convention of the SMIv2.";
- reference
- "RFC 791: Internet Protocol
- RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
- RFC 4001: Textual Conventions for Internet Network Addresses";
- }
-
- typedef dscp {
- type uint8 {
- range "0..63";
- }
- description
- "The dscp type represents a Differentiated Services Code Point
- that may be used for marking packets in a traffic stream.
- In the value set and its semantics, this type is equivalent
- to the Dscp textual convention of the SMIv2.";
- reference
- "RFC 3289: Management Information Base for the Differentiated
- Services Architecture
- RFC 2474: Definition of the Differentiated Services Field
- (DS Field) in the IPv4 and IPv6 Headers
- RFC 2780: IANA Allocation Guidelines For Values In
- the Internet Protocol and Related Headers";
- }
-
- typedef ipv6-flow-label {
- type uint32 {
- range "0..1048575";
- }
- description
- "The ipv6-flow-label type represents the flow identifier or Flow
- Label in an IPv6 packet header that may be used to
- discriminate traffic flows.
-
- In the value set and its semantics, this type is equivalent
- to the IPv6FlowLabel textual convention of the SMIv2.";
- reference
- "RFC 3595: Textual Conventions for IPv6 Flow Label
- RFC 2460: Internet Protocol, Version 6 (IPv6) Specification";
- }
-
- typedef port-number {
- type uint16 {
- range "0..65535";
- }
- description
- "The port-number type represents a 16-bit port number of an
- Internet transport-layer protocol such as UDP, TCP, DCCP, or
- SCTP. Port numbers are assigned by IANA. A current list of
- all assignments is available from <http://www.iana.org/>.
-
- Note that the port number value zero is reserved by IANA. In
- situations where the value zero does not make sense, it can
- be excluded by subtyping the port-number type.
- In the value set and its semantics, this type is equivalent
- to the InetPortNumber textual convention of the SMIv2.";
- reference
- "RFC 768: User Datagram Protocol
- RFC 793: Transmission Control Protocol
- RFC 4960: Stream Control Transmission Protocol
- RFC 4340: Datagram Congestion Control Protocol (DCCP)
- RFC 4001: Textual Conventions for Internet Network Addresses";
- }
-
- /*** collection of types related to autonomous systems ***/
-
- typedef as-number {
- type uint32;
- description
- "The as-number type represents autonomous system numbers
- which identify an Autonomous System (AS). An AS is a set
- of routers under a single technical administration, using
- an interior gateway protocol and common metrics to route
- packets within the AS, and using an exterior gateway
- protocol to route packets to other ASes. IANA maintains
- the AS number space and has delegated large parts to the
- regional registries.
-
- Autonomous system numbers were originally limited to 16
- bits. BGP extensions have enlarged the autonomous system
- number space to 32 bits. This type therefore uses an uint32
- base type without a range restriction in order to support
- a larger autonomous system number space.
-
- In the value set and its semantics, this type is equivalent
- to the InetAutonomousSystemNumber textual convention of
- the SMIv2.";
- reference
- "RFC 1930: Guidelines for creation, selection, and registration
- of an Autonomous System (AS)
- RFC 4271: A Border Gateway Protocol 4 (BGP-4)
- RFC 4001: Textual Conventions for Internet Network Addresses
- RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
- Number Space";
- }
-
- /*** collection of types related to IP addresses and hostnames ***/
-
- typedef ip-address {
- type union {
- type inet:ipv4-address;
- type inet:ipv6-address;
- }
- description
- "The ip-address type represents an IP address and is IP
- version neutral. The format of the textual representation
- implies the IP version. This type supports scoped addresses
- by allowing zone identifiers in the address format.";
- reference
- "RFC 4007: IPv6 Scoped Address Architecture";
- }
-
- typedef ipv4-address {
- type string {
- pattern
- '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
- + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
- + '(%[\p{N}\p{L}]+)?';
- }
- description
- "The ipv4-address type represents an IPv4 address in
- dotted-quad notation. The IPv4 address may include a zone
- index, separated by a % sign.
-
- The zone index is used to disambiguate identical address
- values. For link-local addresses, the zone index will
- typically be the interface index number or the name of an
- interface. If the zone index is not present, the default
- zone of the device will be used.
-
- The canonical format for the zone index is the numerical
- format";
- }
-
- typedef ipv6-address {
- type string {
- pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
- + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
- + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
- + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
- + '(%[\p{N}\p{L}]+)?';
- pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
- + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
- + '(%.+)?';
- }
- description
- "The ipv6-address type represents an IPv6 address in full,
- mixed, shortened, and shortened-mixed notation. The IPv6
- address may include a zone index, separated by a % sign.
-
- The zone index is used to disambiguate identical address
- values. For link-local addresses, the zone index will
- typically be the interface index number or the name of an
- interface. If the zone index is not present, the default
- zone of the device will be used.
-
- The canonical format of IPv6 addresses uses the textual
- representation defined in Section 4 of RFC 5952. The
- canonical format for the zone index is the numerical
- format as described in Section 11.2 of RFC 4007.";
- reference
- "RFC 4291: IP Version 6 Addressing Architecture
- RFC 4007: IPv6 Scoped Address Architecture
- RFC 5952: A Recommendation for IPv6 Address Text
- Representation";
- }
-
- typedef ip-address-no-zone {
- type union {
- type inet:ipv4-address-no-zone;
- type inet:ipv6-address-no-zone;
- }
- description
- "The ip-address-no-zone type represents an IP address and is
- IP version neutral. The format of the textual representation
- implies the IP version. This type does not support scoped
- addresses since it does not allow zone identifiers in the
- address format.";
- reference
- "RFC 4007: IPv6 Scoped Address Architecture";
- }
-
- typedef ipv4-address-no-zone {
- type inet:ipv4-address {
- pattern '[0-9\.]*';
- }
- description
- "An IPv4 address without a zone index. This type, derived from
- ipv4-address, may be used in situations where the zone is
- known from the context and hence no zone index is needed.";
- }
-
- typedef ipv6-address-no-zone {
- type inet:ipv6-address {
- pattern '[0-9a-fA-F:\.]*';
- }
- description
- "An IPv6 address without a zone index. This type, derived from
- ipv6-address, may be used in situations where the zone is
- known from the context and hence no zone index is needed.";
- reference
- "RFC 4291: IP Version 6 Addressing Architecture
- RFC 4007: IPv6 Scoped Address Architecture
- RFC 5952: A Recommendation for IPv6 Address Text
- Representation";
- }
-
- typedef ip-prefix {
- type union {
- type inet:ipv4-prefix;
- type inet:ipv6-prefix;
- }
- description
- "The ip-prefix type represents an IP prefix and is IP
- version neutral. The format of the textual representations
- implies the IP version.";
- }
-
- typedef ipv4-prefix {
- type string {
- pattern
- '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
- + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
- + '/(([0-9])|([1-2][0-9])|(3[0-2]))';
- }
- description
- "The ipv4-prefix type represents an IPv4 address prefix.
- The prefix length is given by the number following the
- slash character and must be less than or equal to 32.
-
- A prefix length value of n corresponds to an IP address
- mask that has n contiguous 1-bits from the most
- significant bit (MSB) and all other bits set to 0.
-
- The canonical format of an IPv4 prefix has all bits of
- the IPv4 address set to zero that are not part of the
- IPv4 prefix.";
- }
-
- typedef ipv6-prefix {
- type string {
- pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
- + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
- + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
- + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
- + '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))';
- pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
- + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
- + '(/.+)';
- }
-
- description
- "The ipv6-prefix type represents an IPv6 address prefix.
- The prefix length is given by the number following the
- slash character and must be less than or equal to 128.
-
- A prefix length value of n corresponds to an IP address
- mask that has n contiguous 1-bits from the most
- significant bit (MSB) and all other bits set to 0.
-
- The IPv6 address should have all bits that do not belong
- to the prefix set to zero.
-
- The canonical format of an IPv6 prefix has all bits of
- the IPv6 address set to zero that are not part of the
- IPv6 prefix. Furthermore, the IPv6 address is represented
- as defined in Section 4 of RFC 5952.";
- reference
- "RFC 5952: A Recommendation for IPv6 Address Text
- Representation";
- }
-
- /*** collection of domain name and URI types ***/
-
- typedef domain-name {
- type string {
- length "1..253";
- pattern
- '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
- + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
- + '|\.';
- }
- description
- "The domain-name type represents a DNS domain name. The
- name SHOULD be fully qualified whenever possible.
-
- Internet domain names are only loosely specified. Section
- 3.5 of RFC 1034 recommends a syntax (modified in Section
- 2.1 of RFC 1123). The pattern above is intended to allow
- for current practice in domain name use, and some possible
- future expansion. It is designed to hold various types of
- domain names, including names used for A or AAAA records
- (host names) and other records, such as SRV records. Note
- that Internet host names have a stricter syntax (described
- in RFC 952) than the DNS recommendations in RFCs 1034 and
- 1123, and that systems that want to store host names in
- schema nodes using the domain-name type are recommended to
- adhere to this stricter standard to ensure interoperability.
-
- The encoding of DNS names in the DNS protocol is limited
- to 255 characters. Since the encoding consists of labels
- prefixed by a length bytes and there is a trailing NULL
- byte, only 253 characters can appear in the textual dotted
- notation.
-
- The description clause of schema nodes using the domain-name
- type MUST describe when and how these names are resolved to
- IP addresses. Note that the resolution of a domain-name value
- may require to query multiple DNS records (e.g., A for IPv4
- and AAAA for IPv6). The order of the resolution process and
- which DNS record takes precedence can either be defined
- explicitly or may depend on the configuration of the
- resolver.
-
- Domain-name values use the US-ASCII encoding. Their canonical
- format uses lowercase US-ASCII characters. Internationalized
- domain names MUST be A-labels as per RFC 5890.";
- reference
- "RFC 952: DoD Internet Host Table Specification
- RFC 1034: Domain Names - Concepts and Facilities
- RFC 1123: Requirements for Internet Hosts -- Application
- and Support
- RFC 2782: A DNS RR for specifying the location of services
- (DNS SRV)
- RFC 5890: Internationalized Domain Names in Applications
- (IDNA): Definitions and Document Framework";
- }
-
- typedef host {
- type union {
- type inet:ip-address;
- type inet:domain-name;
- }
- description
- "The host type represents either an IP address or a DNS
- domain name.";
- }
-
- typedef uri {
- type string;
- description
- "The uri type represents a Uniform Resource Identifier
- (URI) as defined by STD 66.
-
- Objects using the uri type MUST be in US-ASCII encoding,
- and MUST be normalized as described by RFC 3986 Sections
- 6.2.1, 6.2.2.1, and 6.2.2.2. All unnecessary
- percent-encoding is removed, and all case-insensitive
- characters are set to lowercase except for hexadecimal
- digits, which are normalized to uppercase as described in
- Section 6.2.2.1.
-
- The purpose of this normalization is to help provide
- unique URIs. Note that this normalization is not
- sufficient to provide uniqueness. Two URIs that are
- textually distinct after this normalization may still be
- equivalent.
-
- Objects using the uri type may restrict the schemes that
- they permit. For example, 'data:' and 'urn:' schemes
- might not be appropriate.
-
- A zero-length URI is not a valid URI. This can be used to
- express 'URI absent' where required.
-
- In the value set and its semantics, this type is equivalent
- to the Uri SMIv2 textual convention defined in RFC 5017.";
- reference
- "RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
- RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
- Group: Uniform Resource Identifiers (URIs), URLs,
- and Uniform Resource Names (URNs): Clarifications
- and Recommendations
- RFC 5017: MIB Textual Conventions for Uniform Resource
- Identifiers (URIs)";
- }
-
-}
diff --git a/config-models/aether-2.1.x/files/yang/ietf-yang-types.yang b/config-models/aether-2.1.x/files/yang/ietf-yang-types.yang
deleted file mode 100644
index ee58fa3..0000000
--- a/config-models/aether-2.1.x/files/yang/ietf-yang-types.yang
+++ /dev/null
@@ -1,474 +0,0 @@
-module ietf-yang-types {
-
- namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
- prefix "yang";
-
- organization
- "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
- contact
- "WG Web: <http://tools.ietf.org/wg/netmod/>
- WG List: <mailto:netmod@ietf.org>
-
- WG Chair: David Kessens
- <mailto:david.kessens@nsn.com>
-
- WG Chair: Juergen Schoenwaelder
- <mailto:j.schoenwaelder@jacobs-university.de>
-
- Editor: Juergen Schoenwaelder
- <mailto:j.schoenwaelder@jacobs-university.de>";
-
- description
- "This module contains a collection of generally useful derived
- YANG data types.
-
- Copyright (c) 2013 IETF Trust and the persons identified as
- authors of the code. All rights reserved.
-
- Redistribution and use in source and binary forms, with or
- without modification, is permitted pursuant to, and subject
- to the license terms contained in, the Simplified BSD License
- set forth in Section 4.c of the IETF Trust's Legal Provisions
- Relating to IETF Documents
- (http://trustee.ietf.org/license-info).
-
- This version of this YANG module is part of RFC 6991; see
- the RFC itself for full legal notices.";
-
- revision 2013-07-15 {
- description
- "This revision adds the following new data types:
- - yang-identifier
- - hex-string
- - uuid
- - dotted-quad";
- reference
- "RFC 6991: Common YANG Data Types";
- }
-
- revision 2010-09-24 {
- description
- "Initial revision.";
- reference
- "RFC 6021: Common YANG Data Types";
- }
-
- /*** collection of counter and gauge types ***/
-
- typedef counter32 {
- type uint32;
- description
- "The counter32 type represents a non-negative integer
- that monotonically increases until it reaches a
- maximum value of 2^32-1 (4294967295 decimal), when it
- wraps around and starts increasing again from zero.
-
- Counters have no defined 'initial' value, and thus, a
- single value of a counter has (in general) no information
- content. Discontinuities in the monotonically increasing
- value normally occur at re-initialization of the
- management system, and at other times as specified in the
- description of a schema node using this type. If such
- other times can occur, for example, the creation of
- a schema node of type counter32 at times other than
- re-initialization, then a corresponding schema node
- should be defined, with an appropriate type, to indicate
- the last discontinuity.
-
- The counter32 type should not be used for configuration
- schema nodes. A default statement SHOULD NOT be used in
- combination with the type counter32.
-
- In the value set and its semantics, this type is equivalent
- to the Counter32 type of the SMIv2.";
- reference
- "RFC 2578: Structure of Management Information Version 2
- (SMIv2)";
- }
-
- typedef zero-based-counter32 {
- type yang:counter32;
- default "0";
- description
- "The zero-based-counter32 type represents a counter32
- that has the defined 'initial' value zero.
-
- A schema node of this type will be set to zero (0) on creation
- and will thereafter increase monotonically until it reaches
- a maximum value of 2^32-1 (4294967295 decimal), when it
- wraps around and starts increasing again from zero.
-
- Provided that an application discovers a new schema node
- of this type within the minimum time to wrap, it can use the
- 'initial' value as a delta. It is important for a management
- station to be aware of this minimum time and the actual time
- between polls, and to discard data if the actual time is too
- long or there is no defined minimum time.
-
- In the value set and its semantics, this type is equivalent
- to the ZeroBasedCounter32 textual convention of the SMIv2.";
- reference
- "RFC 4502: Remote Network Monitoring Management Information
- Base Version 2";
- }
-
- typedef counter64 {
- type uint64;
- description
- "The counter64 type represents a non-negative integer
- that monotonically increases until it reaches a
- maximum value of 2^64-1 (18446744073709551615 decimal),
- when it wraps around and starts increasing again from zero.
-
- Counters have no defined 'initial' value, and thus, a
- single value of a counter has (in general) no information
- content. Discontinuities in the monotonically increasing
- value normally occur at re-initialization of the
- management system, and at other times as specified in the
- description of a schema node using this type. If such
- other times can occur, for example, the creation of
- a schema node of type counter64 at times other than
- re-initialization, then a corresponding schema node
- should be defined, with an appropriate type, to indicate
- the last discontinuity.
-
- The counter64 type should not be used for configuration
- schema nodes. A default statement SHOULD NOT be used in
- combination with the type counter64.
-
- In the value set and its semantics, this type is equivalent
- to the Counter64 type of the SMIv2.";
- reference
- "RFC 2578: Structure of Management Information Version 2
- (SMIv2)";
- }
-
- typedef zero-based-counter64 {
- type yang:counter64;
- default "0";
- description
- "The zero-based-counter64 type represents a counter64 that
- has the defined 'initial' value zero.
-
- A schema node of this type will be set to zero (0) on creation
- and will thereafter increase monotonically until it reaches
- a maximum value of 2^64-1 (18446744073709551615 decimal),
- when it wraps around and starts increasing again from zero.
-
- Provided that an application discovers a new schema node
- of this type within the minimum time to wrap, it can use the
- 'initial' value as a delta. It is important for a management
- station to be aware of this minimum time and the actual time
- between polls, and to discard data if the actual time is too
- long or there is no defined minimum time.
-
- In the value set and its semantics, this type is equivalent
- to the ZeroBasedCounter64 textual convention of the SMIv2.";
- reference
- "RFC 2856: Textual Conventions for Additional High Capacity
- Data Types";
- }
-
- typedef gauge32 {
- type uint32;
- description
- "The gauge32 type represents a non-negative integer, which
- may increase or decrease, but shall never exceed a maximum
- value, nor fall below a minimum value. The maximum value
- cannot be greater than 2^32-1 (4294967295 decimal), and
- the minimum value cannot be smaller than 0. The value of
- a gauge32 has its maximum value whenever the information
- being modeled is greater than or equal to its maximum
- value, and has its minimum value whenever the information
- being modeled is smaller than or equal to its minimum value.
- If the information being modeled subsequently decreases
- below (increases above) the maximum (minimum) value, the
- gauge32 also decreases (increases).
-
- In the value set and its semantics, this type is equivalent
- to the Gauge32 type of the SMIv2.";
- reference
- "RFC 2578: Structure of Management Information Version 2
- (SMIv2)";
- }
-
- typedef gauge64 {
- type uint64;
- description
- "The gauge64 type represents a non-negative integer, which
- may increase or decrease, but shall never exceed a maximum
- value, nor fall below a minimum value. The maximum value
- cannot be greater than 2^64-1 (18446744073709551615), and
- the minimum value cannot be smaller than 0. The value of
- a gauge64 has its maximum value whenever the information
- being modeled is greater than or equal to its maximum
- value, and has its minimum value whenever the information
- being modeled is smaller than or equal to its minimum value.
- If the information being modeled subsequently decreases
- below (increases above) the maximum (minimum) value, the
- gauge64 also decreases (increases).
-
- In the value set and its semantics, this type is equivalent
- to the CounterBasedGauge64 SMIv2 textual convention defined
- in RFC 2856";
- reference
- "RFC 2856: Textual Conventions for Additional High Capacity
- Data Types";
- }
-
- /*** collection of identifier-related types ***/
-
- typedef object-identifier {
- type string {
- pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
- + '(\.(0|([1-9]\d*)))*';
- }
- description
- "The object-identifier type represents administratively
- assigned names in a registration-hierarchical-name tree.
-
- Values of this type are denoted as a sequence of numerical
- non-negative sub-identifier values. Each sub-identifier
- value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
- are separated by single dots and without any intermediate
- whitespace.
-
- The ASN.1 standard restricts the value space of the first
- sub-identifier to 0, 1, or 2. Furthermore, the value space
- of the second sub-identifier is restricted to the range
- 0 to 39 if the first sub-identifier is 0 or 1. Finally,
- the ASN.1 standard requires that an object identifier
- has always at least two sub-identifiers. The pattern
- captures these restrictions.
-
- Although the number of sub-identifiers is not limited,
- module designers should realize that there may be
- implementations that stick with the SMIv2 limit of 128
- sub-identifiers.
-
- This type is a superset of the SMIv2 OBJECT IDENTIFIER type
- since it is not restricted to 128 sub-identifiers. Hence,
- this type SHOULD NOT be used to represent the SMIv2 OBJECT
- IDENTIFIER type; the object-identifier-128 type SHOULD be
- used instead.";
- reference
- "ISO9834-1: Information technology -- Open Systems
- Interconnection -- Procedures for the operation of OSI
- Registration Authorities: General procedures and top
- arcs of the ASN.1 Object Identifier tree";
- }
-
- typedef object-identifier-128 {
- type object-identifier {
- pattern '\d*(\.\d*){1,127}';
- }
- description
- "This type represents object-identifiers restricted to 128
- sub-identifiers.
-
- In the value set and its semantics, this type is equivalent
- to the OBJECT IDENTIFIER type of the SMIv2.";
- reference
- "RFC 2578: Structure of Management Information Version 2
- (SMIv2)";
- }
-
- typedef yang-identifier {
- type string {
- length "1..max";
- pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
- pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
- }
- description
- "A YANG identifier string as defined by the 'identifier'
- rule in Section 12 of RFC 6020. An identifier must
- start with an alphabetic character or an underscore
- followed by an arbitrary sequence of alphabetic or
- numeric characters, underscores, hyphens, or dots.
-
- A YANG identifier MUST NOT start with any possible
- combination of the lowercase or uppercase character
- sequence 'xml'.";
- reference
- "RFC 6020: YANG - A Data Modeling Language for the Network
- Configuration Protocol (NETCONF)";
- }
-
- /*** collection of types related to date and time***/
-
- typedef date-and-time {
- type string {
- pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
- + '(Z|[\+\-]\d{2}:\d{2})';
- }
- description
- "The date-and-time type is a profile of the ISO 8601
- standard for representation of dates and times using the
- Gregorian calendar. The profile is defined by the
- date-time production in Section 5.6 of RFC 3339.
-
- The date-and-time type is compatible with the dateTime XML
- schema type with the following notable exceptions:
-
- (a) The date-and-time type does not allow negative years.
-
- (b) The date-and-time time-offset -00:00 indicates an unknown
- time zone (see RFC 3339) while -00:00 and +00:00 and Z
- all represent the same time zone in dateTime.
-
- (c) The canonical format (see below) of data-and-time values
- differs from the canonical format used by the dateTime XML
- schema type, which requires all times to be in UTC using
- the time-offset 'Z'.
-
- This type is not equivalent to the DateAndTime textual
- convention of the SMIv2 since RFC 3339 uses a different
- separator between full-date and full-time and provides
- higher resolution of time-secfrac.
-
- The canonical format for date-and-time values with a known time
- zone uses a numeric time zone offset that is calculated using
- the device's configured known offset to UTC time. A change of
- the device's offset to UTC time will cause date-and-time values
- to change accordingly. Such changes might happen periodically
- in case a server follows automatically daylight saving time
- (DST) time zone offset changes. The canonical format for
- date-and-time values with an unknown time zone (usually
- referring to the notion of local time) uses the time-offset
- -00:00.";
- reference
- "RFC 3339: Date and Time on the Internet: Timestamps
- RFC 2579: Textual Conventions for SMIv2
- XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
- }
-
- typedef timeticks {
- type uint32;
- description
- "The timeticks type represents a non-negative integer that
- represents the time, modulo 2^32 (4294967296 decimal), in
- hundredths of a second between two epochs. When a schema
- node is defined that uses this type, the description of
- the schema node identifies both of the reference epochs.
-
- In the value set and its semantics, this type is equivalent
- to the TimeTicks type of the SMIv2.";
- reference
- "RFC 2578: Structure of Management Information Version 2
- (SMIv2)";
- }
-
- typedef timestamp {
- type yang:timeticks;
- description
- "The timestamp type represents the value of an associated
- timeticks schema node at which a specific occurrence
- happened. The specific occurrence must be defined in the
- description of any schema node defined using this type. When
- the specific occurrence occurred prior to the last time the
- associated timeticks attribute was zero, then the timestamp
- value is zero. Note that this requires all timestamp values
- to be reset to zero when the value of the associated timeticks
- attribute reaches 497+ days and wraps around to zero.
-
- The associated timeticks schema node must be specified
- in the description of any schema node using this type.
-
- In the value set and its semantics, this type is equivalent
- to the TimeStamp textual convention of the SMIv2.";
- reference
- "RFC 2579: Textual Conventions for SMIv2";
- }
-
- /*** collection of generic address types ***/
-
- typedef phys-address {
- type string {
- pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
- }
-
- description
- "Represents media- or physical-level addresses represented
- as a sequence octets, each octet represented by two hexadecimal
- numbers. Octets are separated by colons. The canonical
- representation uses lowercase characters.
-
- In the value set and its semantics, this type is equivalent
- to the PhysAddress textual convention of the SMIv2.";
- reference
- "RFC 2579: Textual Conventions for SMIv2";
- }
-
- typedef mac-address {
- type string {
- pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
- }
- description
- "The mac-address type represents an IEEE 802 MAC address.
- The canonical representation uses lowercase characters.
-
- In the value set and its semantics, this type is equivalent
- to the MacAddress textual convention of the SMIv2.";
- reference
- "IEEE 802: IEEE Standard for Local and Metropolitan Area
- Networks: Overview and Architecture
- RFC 2579: Textual Conventions for SMIv2";
- }
-
- /*** collection of XML-specific types ***/
-
- typedef xpath1.0 {
- type string;
- description
- "This type represents an XPATH 1.0 expression.
-
- When a schema node is defined that uses this type, the
- description of the schema node MUST specify the XPath
- context in which the XPath expression is evaluated.";
- reference
- "XPATH: XML Path Language (XPath) Version 1.0";
- }
-
- /*** collection of string types ***/
-
- typedef hex-string {
- type string {
- pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
- }
- description
- "A hexadecimal string with octets represented as hex digits
- separated by colons. The canonical representation uses
- lowercase characters.";
- }
-
- typedef uuid {
- type string {
- pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
- + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
- }
- description
- "A Universally Unique IDentifier in the string representation
- defined in RFC 4122. The canonical representation uses
- lowercase characters.
-
- The following is an example of a UUID in string representation:
- f81d4fae-7dec-11d0-a765-00a0c91e6bf6
- ";
- reference
- "RFC 4122: A Universally Unique IDentifier (UUID) URN
- Namespace";
- }
-
- typedef dotted-quad {
- type string {
- pattern
- '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
- + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
- }
- description
- "An unsigned 32-bit number expressed in the dotted-quad
- notation, i.e., four octets written as decimal numbers
- and separated with the '.' (full stop) character.";
- }
-}
diff --git a/config-models/aether-2.1.x/files/yang/qos-profile.yang b/config-models/aether-2.1.x/files/yang/qos-profile.yang
deleted file mode 100755
index 35204d9..0000000
--- a/config-models/aether-2.1.x/files/yang/qos-profile.yang
+++ /dev/null
@@ -1,113 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module qos-profile {
- namespace "http://opennetworking.org/aether/qos-profile";
- prefix pro;
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2020-10-22" {
- description "An Aether qos Profile";
- reference "RFC 6087";
- }
-
- // TODO: Think more on whether this should be a UUID or
- // simply a unique name. If it's a UUID, could fix the
- // string length.
- typedef qos-profile-id {
- type string {
- length 1..32;
- }
- description "The typedef for qos-profile-id";
- }
-
- container qos-profile {
- description "The top level container";
-
- list qos-profile {
- key "id";
- description
- "List of qos profiles";
-
- leaf id {
- type qos-profile-id;
- description "ID for this qos profile.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- container apn-ambr {
- leaf uplink {
- type uint32 {
- range 0..4294967295;
- }
- units bps;
- default 0;
- description
- "Upstream aggregate maximum bit rate";
- }
- leaf downlink {
- type uint32 {
- range 0..4294967295;
- }
- units bps;
- default 0;
- description
- "Downstream aggregate maximum bit rate";
- }
- description "The container for apn-ambr";
- }
-
- leaf qci {
- type uint32 {
- range 0..85;
- }
- default 9;
- description
- "QoS Class Identifier";
- }
-
- container arp {
- leaf priority {
- type uint32 {
- range 0..15;
- }
- default 0;
- description
- "Priority";
- }
- leaf preemption-capability {
- type boolean;
- default true;
- description
- "True if a bearer with lower priority should be dropped";
- }
- leaf preemption-vulnerability {
- type boolean;
- default true;
- description
- "This bearer may be dropped for a bearer with higher priority";
- }
- description "Evolved-ARP";
- }
-
- leaf description {
- type string {
- length 1..100;
- }
- description "description of this profile";
- }
- }
- }
-}
diff --git a/config-models/aether-2.1.x/files/yang/security-profile.yang b/config-models/aether-2.1.x/files/yang/security-profile.yang
deleted file mode 100755
index e6c5367..0000000
--- a/config-models/aether-2.1.x/files/yang/security-profile.yang
+++ /dev/null
@@ -1,74 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module security-profile {
- namespace "http://opennetworking.org/aether/security-profile";
- prefix sec;
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2020-11-30" {
- description "An Aether Security Profile. Contains keys and other security items associated with devices. Configured by the operator.";
- reference "RFC 6087";
- }
-
- typedef security-profile-id {
- type string {
- length 1..32;
- }
- description "The typedef for security-profile-id";
- }
-
- container security-profile {
- description "The top level container";
-
- list security-profile {
- key "id";
- description
- "List of security profiles";
-
- leaf id {
- type security-profile-id;
- description "ID for this security profile.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf key {
- type string {
- length 1..32;
- }
- description "Secret key for USIM";
- }
-
- leaf opc {
- type string {
- length 1..32;
- }
- description "Secret key for Operator";
- }
-
- leaf sqn {
- type uint32;
- description "sequence number";
- }
-
- leaf description {
- type string {
- length 1..100;
- }
- description "description of this security profile";
- }
- }
- }
-}
diff --git a/config-models/aether-2.1.x/files/yang/service-group.yang b/config-models/aether-2.1.x/files/yang/service-group.yang
deleted file mode 100755
index 55f0f6b..0000000
--- a/config-models/aether-2.1.x/files/yang/service-group.yang
+++ /dev/null
@@ -1,83 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module service-group {
- namespace "http://opennetworking.org/aether/service-group";
- prefix sg;
-
- import service-policy { prefix serv; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2021-03-04" {
- description "An Aether Service Group";
- reference "RFC 6087";
- }
-
- typedef service-group-id {
- type string {
- length 1..32;
- }
- description "The typede for service-group-id";
- }
-
- typedef service-kind {
- type string {
- length 1..32;
- pattern "default|on-demand";
- }
- description "The typedef for service-kind";
- }
-
- container service-group {
- description "The top level container";
-
- list service-group {
- key "id";
- description
- "List of service groups";
-
- leaf id {
- type service-group-id;
- description "ID for this service group.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- list service-policies {
- key "service-policy";
- leaf service-policy {
- type leafref {
- path "/serv:service-policy/serv:service-policy/serv:id";
- }
- description
- "Link to service policy";
- }
- leaf kind {
- type service-kind;
- default "default";
- description
- "Type of service link";
- }
- description "The container for service-policies";
- }
-
- leaf description {
- type string {
- length 1..100;
- }
- description "description of this service group";
- }
- }
- }
-}
diff --git a/config-models/aether-2.1.x/files/yang/service-policy.yang b/config-models/aether-2.1.x/files/yang/service-policy.yang
deleted file mode 100755
index a169402..0000000
--- a/config-models/aether-2.1.x/files/yang/service-policy.yang
+++ /dev/null
@@ -1,115 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module service-policy {
- namespace "http://opennetworking.org/aether/service-policy";
- prefix serv;
-
- import service-rule { prefix sr; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2021-03-04" {
- description "An Aether Service";
- reference "RFC 6087";
- }
-
- typedef service-policy-id {
- type string {
- length 1..32;
- }
- description "The typedef for service-policy-id";
- }
-
- container service-policy {
- description "The top level container";
-
- list service-policy {
- key "id";
- description
- "List of services";
-
- leaf id {
- type service-policy-id;
- description "ID for this service.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf qci {
- type uint32 {
- range 0..85;
- }
- default 9;
- description
- "QoS Class Identifier";
- }
-
- leaf arp {
- type uint32 {
- range 0..15;
- }
- default 9;
- description
- "Evolved-ARP";
- }
-
- container ambr {
- leaf uplink {
- type uint32 {
- range 0..4294967295;
- }
- units bps;
- default 0;
- description
- "Upstream aggregate maximum bit rate";
- }
- leaf downlink {
- type uint32 {
- range 0..4294967295;
- }
- units bps;
- default 0;
- description
- "Downstream aggregate maximum bit rate";
- }
- description "The container for ambr";
- }
-
- list rules {
- key "rule";
- leaf rule {
- type leafref {
- path "/sr:service-rule/sr:service-rule/sr:id";
- }
- description
- "Link to service rule";
- }
- leaf enabled {
- type boolean;
- default true;
- description
- "Enable or disable this service to use this rule";
- }
- description "The list for rules";
- }
-
- leaf description {
- type string {
- length 1..100;
- }
- description "description of this profile";
- }
- }
- }
-}
diff --git a/config-models/aether-2.1.x/files/yang/service-rule.yang b/config-models/aether-2.1.x/files/yang/service-rule.yang
deleted file mode 100755
index 49af65f..0000000
--- a/config-models/aether-2.1.x/files/yang/service-rule.yang
+++ /dev/null
@@ -1,174 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module service-rule {
- namespace "http://opennetworking.org/aether/service-rule";
- prefix sr;
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2021-03-04" {
- description "An Aether Service Rule";
- reference "RFC 6087";
- }
-
- typedef service-rule-id {
- type string {
- length 1..32;
- }
- description "The typedef for service-rule-id";
- }
-
- container service-rule {
- description "The top level container";
-
- list service-rule {
- key "id";
- description
- "List of service rules";
-
- leaf id {
- type service-rule-id;
- description "ID for this service.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf charging-rule-name {
- type string {
- length 1..80;
- }
- description "name of charging rule";
- }
-
- container qos {
- leaf qci {
- type uint32 {
- range 0..85;
- }
- default 9;
- description
- "QoS Class Identifier";
- }
-
- container arp {
- leaf priority {
- type uint32 {
- range 0..15;
- }
- default 0;
- description
- "Priority";
- }
- leaf preemption-capability {
- type boolean;
- default true;
- description
- "True if a bearer with lower priority should be dropped";
- }
- leaf preemption-vulnerability {
- type boolean;
- default true;
- description
- "This bearer may be dropped for a bearer with higher priority";
- }
- description "Evolved-ARP";
- }
-
- container maximum-requested-bandwidth {
- leaf uplink {
- type uint32 {
- range 0..4294967295;
- }
- units bps;
- default 0;
- description
- "Upstream maximum requested bandwidth";
- }
- leaf downlink {
- type uint32 {
- range 0..4294967295;
- }
- units bps;
- default 0;
- description
- "Downstream maximum requested bandwidth";
- }
- description "The container for maximum-requested-bandwidth";
- }
-
- container guaranteed-bitrate {
- leaf uplink {
- type uint32 {
- range 0..4294967295;
- }
- units bps;
- default 0;
- description
- "Upstream guaranteed bitrate";
- }
- leaf downlink {
- type uint32 {
- range 0..4294967295;
- }
- units bps;
- default 0;
- description
- "Downstream guaranteed bitrate";
- }
- description "The container for guaranteed-bitrate";
- }
-
- container aggregate-maximum-bitrate {
- leaf uplink {
- type uint32 {
- range 0..4294967295;
- }
- units bps;
- default 0;
- description
- "Upstream aggregate maximum bitrate";
- }
- leaf downlink {
- type uint32 {
- range 0..4294967295;
- }
- units bps;
- default 0;
- description
- "Downstream aggregate maximum bitrate";
- }
- description "The container for aggregate-maximum-bitrate";
- }
- description "The container for qos";
- }
-
- container flow {
- leaf specification {
- type string {
- length 1..1024;
- }
- description "specification of this flow";
- }
- description "The container for flow";
- }
-
- leaf description {
- type string {
- length 1..100;
- }
- description "description of this rule";
- }
- }
- }
-}
diff --git a/config-models/aether-2.1.x/files/yang/up-profile.yang b/config-models/aether-2.1.x/files/yang/up-profile.yang
deleted file mode 100755
index 723758f..0000000
--- a/config-models/aether-2.1.x/files/yang/up-profile.yang
+++ /dev/null
@@ -1,72 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module up-profile {
- namespace "http://opennetworking.org/aether/user-plane-profile";
- prefix pro;
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2020-10-22" {
- description "An Aether user plane Profile";
- reference "RFC 6087";
- }
-
- // TODO: Think more on whether this should be a UUID or
- // simply a unique name. If it's a UUID, could fix the
- // string length.
- typedef up-profile-id {
- type string {
- length 1..32;
- }
- description "The typedef for up-profile-id";
- }
-
- container up-profile {
- description "The top level container";
-
- list up-profile {
- key "id";
- description
- "List of user plane profiles";
-
- leaf id {
- type up-profile-id;
- description "ID for this user plane profile.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf user-plane {
- type string {
- length 1..255;
- }
- description "user plane name";
- }
-
- leaf access-control {
- type string {
- length 1..32;
- }
- description "access control policy";
- }
-
- leaf description {
- type string {
- length 1..100;
- }
- description "description of this profile";
- }
- }
- }
-}
diff --git a/config-models/aether-2.1.x/templates/_helpers.tpl b/config-models/aether-2.1.x/templates/_helpers.tpl
deleted file mode 100644
index bb84c33..0000000
--- a/config-models/aether-2.1.x/templates/_helpers.tpl
+++ /dev/null
@@ -1,52 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
-SPDX-License-Identifier: Apache-2.0
-
-Expand the name of the chart.
-*/}}
-{{- define "aether.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-If release name contains chart name it will be used as a full name.
-*/}}
-{{- define "aether.fullname" -}}
-{{- if contains "config-model-aether" .Release.Name -}}
-{{- printf "%s-%s" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- printf "%s-%s-config-model-aether" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "aether.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-
-{{/*
-Common labels
-*/}}
-{{- define "aether.labels" -}}
-helm.sh/chart: {{ include "aether.chart" . }}
-{{ include "aether.selectorLabels" . }}
-{{- if .Chart.AppVersion }}
-app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
-{{- end }}
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- end -}}
-
-{{/*
-Selector labels
-*/}}
-{{- define "aether.selectorLabels" -}}
-app.kubernetes.io/name: {{ include "aether.name" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end -}}
-}
diff --git a/config-models/aether-2.1.x/templates/model.yaml b/config-models/aether-2.1.x/templates/model.yaml
deleted file mode 100644
index b86c57e..0000000
--- a/config-models/aether-2.1.x/templates/model.yaml
+++ /dev/null
@@ -1,65 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: config.onosproject.org/v1beta1
-kind: Model
-metadata:
- name: {{ template "aether.fullname" . }}
- namespace: {{ .Release.Namespace }}
- labels:
- {{- include "aether.labels" . | nindent 4 }}
-spec:
- plugin:
- type: Aether
- version: {{ .Chart.AppVersion | quote }}
- modules:
- - name: aether-subscriber
- organization: Open Networking Foundation
- revision: 2020-10-22
- file: aether-subscriber.yang
- - name: apn-profile
- organization: Open Networking Foundation
- revision: 2021-03-04
- file: apn-profile.yang
- - name: up-profile
- organization: Open Networking Foundation
- revision: 2020-10-22
- file: up-profile.yang
- - name: qos-profile
- organization: Open Networking Foundation
- revision: 2020-10-22
- file: qos-profile.yang
- - name: access-profile
- organization: Open Networking Foundation
- revision: 2020-10-22
- file: access-profile.yang
- - name: enterprise
- organization: Open Networking Foundation
- revision: 2020-11-30
- file: enterprise.yang
- - name: connectivity-service
- organization: Open Networking Foundation
- revision: 2021-03-18
- file: connectivity-service.yang
- - name: security-profile
- organization: Open Networking Foundation
- revision: 2020-11-30
- file: security-profile.yang
- - name: service-group
- organization: Open Networking Foundation
- revision: 2021-03-04
- file: service-group.yang
- - name: service-policy
- organization: Open Networking Foundation
- revision: 2021-03-04
- file: service-policy.yang
- - name: service-rule
- organization: Open Networking Foundation
- revision: 2021-03-04
- file: service-rule.yang
- files:
- {{- range $path, $_ := $.Files.Glob "files/yang/*.yang" }}
- {{ base $path }}: |
-{{ $.Files.Get $path | indent 6 }}
- {{- end }}
diff --git a/config-models/aether-2.1.x/values.yaml b/config-models/aether-2.1.x/values.yaml
deleted file mode 100644
index aec2bd5..0000000
--- a/config-models/aether-2.1.x/values.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-# SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
diff --git a/config-models/aether-2.2.x/Chart.yaml b/config-models/aether-2.2.x/Chart.yaml
deleted file mode 100644
index ad85a67..0000000
--- a/config-models/aether-2.2.x/Chart.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: v2
-name: config-model-aether
-version: 2.2.5
-kubeVersion: ">=1.18.0"
-appVersion: 2.2.0
-description: Aether config model
-keywords:
- - onos
- - sdn
- - config
-home: https://onosproject.org
-maintainers:
- - name: ONOS Support
- email: support@opennetworking.org
diff --git a/config-models/aether-2.2.x/files/aether-2.2.0.tree b/config-models/aether-2.2.x/files/aether-2.2.0.tree
deleted file mode 100644
index 2336f65..0000000
--- a/config-models/aether-2.2.x/files/aether-2.2.0.tree
+++ /dev/null
@@ -1,155 +0,0 @@
-module: access-profile
- +--rw access-profile
- +--rw access-profile* [id]
- +--rw id access-profile-id
- +--rw display-name? string
- +--rw type? string
- +--rw filter? string
- +--rw description? string
-
-module: aether-subscriber
- +--rw subscriber
- +--rw ue* [id]
- +--rw id ietf:uuid
- +--rw display-name? string
- +--rw (imsi)?
- | +--:(wildcard)
- | | +--rw imsi-wildcard? string
- | +--:(range)
- | +--rw imsi-range-from? uint64
- | +--rw imsi-range-to? uint64
- +--rw serving-plmn
- | +--rw mcc? mcc
- | +--rw mnc? mnc
- | +--rw tac? tac
- +--rw requested-apn? string
- +--rw priority? uint32
- +--rw enabled? boolean
- +--rw enterprise? -> /ent:enterprise/enterprise/id
- +--rw profiles
- +--rw apn-profile? -> /apn:apn-profile/apn-profile/id
- +--rw up-profile? -> /up:up-profile/up-profile/id
- +--rw qos-profile? -> /qos:qos-profile/qos-profile/id
- +--rw access-profile* [access-profile]
- | +--rw access-profile -> /ap:access-profile/access-profile/id
- | +--rw allowed? boolean
- +--rw security-profile? -> /sec:security-profile/security-profile/id
-
-module: apn-profile
- +--rw apn-profile
- +--rw apn-profile* [id]
- +--rw id apn-profile-id
- +--rw display-name? string
- +--rw apn-name? string
- +--rw dns-primary? inet:ip-address
- +--rw dns-secondary? inet:ip-address
- +--rw mtu? uint32
- +--rw gx-enabled? boolean
- +--rw description? string
- +--rw service-group? -> /sg:service-group/service-group/id
-
-module: connectivity-service
- +--rw connectivity-service
- +--rw connectivity-service* [id]
- +--rw id connectivity-service-id
- +--rw display-name? string
- +--rw description? string
- +--rw spgwc-endpoint? inet:uri
- +--rw hss-endpoint? inet:uri
- +--rw pcrf-endpoint? inet:uri
-
-module: enterprise
- +--rw enterprise
- +--rw enterprise* [id]
- +--rw id enterprise-id
- +--rw display-name? string
- +--rw description? string
- +--rw connectivity-service* [connectivity-service]
- +--rw connectivity-service -> /cs:connectivity-service/connectivity-service/id
- +--rw enabled? boolean
-
-module: qos-profile
- +--rw qos-profile
- +--rw qos-profile* [id]
- +--rw id qos-profile-id
- +--rw display-name? string
- +--rw apn-ambr
- | +--rw uplink? uint32
- | +--rw downlink? uint32
- +--rw qci? uint32
- +--rw arp
- | +--rw priority? uint32
- | +--rw preemption-capability? boolean
- | +--rw preemption-vulnerability? boolean
- +--rw description? string
-
-module: security-profile
- +--rw security-profile
- +--rw security-profile* [id]
- +--rw id security-profile-id
- +--rw display-name? string
- +--rw imsi-range-from? uint64
- +--rw imsi-range-to? uint64
- +--rw key? string
- +--rw opc? string
- +--rw sqn? uint32
- +--rw description? string
-
-module: service-group
- +--rw service-group
- +--rw service-group* [id]
- +--rw id service-group-id
- +--rw display-name? string
- +--rw service-policies* [service-policy]
- | +--rw service-policy -> /serv:service-policy/service-policy/id
- | +--rw kind? service-kind
- +--rw description? string
-
-module: service-policy
- +--rw service-policy
- +--rw service-policy* [id]
- +--rw id service-policy-id
- +--rw display-name? string
- +--rw qci? uint32
- +--rw arp? uint32
- +--rw ambr
- | +--rw uplink? uint32
- | +--rw downlink? uint32
- +--rw rules* [rule]
- | +--rw rule -> /sr:service-rule/service-rule/id
- | +--rw enabled? boolean
- +--rw description? string
-
-module: service-rule
- +--rw service-rule
- +--rw service-rule* [id]
- +--rw id service-rule-id
- +--rw display-name? string
- +--rw charging-rule-name? string
- +--rw qos
- | +--rw qci? uint32
- | +--rw arp
- | | +--rw priority? uint32
- | | +--rw preemption-capability? boolean
- | | +--rw preemption-vulnerability? boolean
- | +--rw maximum-requested-bandwidth
- | | +--rw uplink? uint32
- | | +--rw downlink? uint32
- | +--rw guaranteed-bitrate
- | | +--rw uplink? uint32
- | | +--rw downlink? uint32
- | +--rw aggregate-maximum-bitrate
- | +--rw uplink? uint32
- | +--rw downlink? uint32
- +--rw flow
- | +--rw specification? string
- +--rw description? string
-
-module: up-profile
- +--rw up-profile
- +--rw up-profile* [id]
- +--rw id up-profile-id
- +--rw display-name? string
- +--rw user-plane? string
- +--rw access-control? string
- +--rw description? string
diff --git a/config-models/aether-2.2.x/files/yang/access-profile.yang b/config-models/aether-2.2.x/files/yang/access-profile.yang
deleted file mode 100755
index 49009fe..0000000
--- a/config-models/aether-2.2.x/files/yang/access-profile.yang
+++ /dev/null
@@ -1,72 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module access-profile {
- namespace "http://opennetworking.org/aether/access-profile";
- prefix pro;
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2020-10-22" {
- description "An Aether access Profile";
- reference "RFC 6087";
- }
-
- // TODO: Think more on whether this should be a UUID or
- // simply a unique name. If it's a UUID, could fix the
- // string length.
- typedef access-profile-id {
- type string {
- length 1..32;
- }
- description "The typedef for access-profile-id";
- }
-
- container access-profile {
- description "The top level container";
-
- list access-profile {
- key "id";
- description
- "List of access profiles";
-
- leaf id {
- type access-profile-id;
- description "ID for this access profile.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf type {
- type string {
- length 1..32;
- }
- description "type of profile";
- }
-
- leaf filter {
- type string {
- length 0..32;
- }
- description "filter";
- }
-
- leaf description {
- type string {
- length 1..100;
- }
- description "description of this profile";
- }
- }
- }
-}
diff --git a/config-models/aether-2.2.x/files/yang/aether-subscriber.yang b/config-models/aether-2.2.x/files/yang/aether-subscriber.yang
deleted file mode 100755
index 01d419a..0000000
--- a/config-models/aether-2.2.x/files/yang/aether-subscriber.yang
+++ /dev/null
@@ -1,188 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module aether-subscriber {
- namespace "http://opennetworking.org/aether/subscriber";
- prefix sub;
-
- import apn-profile{ prefix apn; }
- import qos-profile{ prefix qos; }
- import up-profile{ prefix up; }
- import access-profile{ prefix ap; }
- import security-profile{ prefix sec; }
- import enterprise{ prefix ent; }
- import ietf-yang-types{ prefix ietf; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2020-10-22" {
- description "An Aether Subscriber";
- reference "RFC 6087";
- }
-
- typedef mcc {
- type uint32 {
- range 0..999;
- }
- description "The typede for mcc";
- }
-
- typedef mnc {
- type uint32 {
- range 0..999;
- }
- description "The typede for mnc";
- }
-
- typedef tac {
- type uint32 {
- range 0..99999999;
- }
- description "The typede for tac";
- }
-
- container subscriber {
- description "The top level container";
-
- list ue {
- key "id";
- description
- "List of subscriber devices";
-
- leaf id {
- type ietf:uuid;
- description "identifier for this subscriber, typically a UUID";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- choice imsi {
- case wildcard {
- leaf imsi-wildcard {
- type string {
- length 1..15;
- }
- description "The leaf for imsi-wildcard";
- }
- }
- case range {
- leaf imsi-range-from {
- type uint64;
- description "The leaf for imsi-range-from";
- }
- leaf imsi-range-to {
- type uint64;
- description "The leaf for imsi-range-to";
- }
- }
- description "The choise for imsi";
- }
-
- container serving-plmn {
- leaf mcc {
- type mcc;
- description "mobile country code";
- }
- leaf mnc {
- type mnc;
- description "mobile network code";
- }
- leaf tac {
- type tac;
- description "type allocation code";
- }
- description "The container for serving-plmn";
- }
-
- leaf requested-apn {
- type string {
- length 0..31;
- }
- description "requested access point name";
- }
-
- leaf priority {
- type uint32 {
- range 0..1000;
- }
- default 0;
- description
- "Priority for this subscriber range";
- }
-
- leaf enabled {
- type boolean;
- default false;
- description
- "Enable or disable this ue";
- }
-
- leaf enterprise {
- type leafref {
- path "/ent:enterprise/ent:enterprise/ent:id";
- }
- description
- "Link to enterprise that owns this UE range";
- }
-
- container profiles {
- leaf apn-profile {
- type leafref {
- path "/apn:apn-profile/apn:apn-profile/apn:id";
- }
- description
- "Link to apn profile";
- }
- leaf up-profile {
- type leafref {
- path "/up:up-profile/up:up-profile/up:id";
- }
- description
- "Link to user plane profile";
- }
- leaf qos-profile {
- type leafref {
- path "/qos:qos-profile/qos:qos-profile/qos:id";
- }
- description
- "Link to qos profile";
- }
- list access-profile {
- key "access-profile";
- leaf access-profile {
- type leafref {
- path "/ap:access-profile/ap:access-profile/ap:id";
- }
- description
- "Link to access profile";
- }
- leaf allowed {
- type boolean;
- default true;
- description
- "Allow or disallow this ue to use this access profile";
- }
- description "The list for access-profile";
- }
- leaf security-profile {
- type leafref {
- path "/sec:security-profile/sec:security-profile/sec:id";
- }
- description
- "Link to security profile";
- }
- description "The container for profiles";
- }
- }
- }
-}
diff --git a/config-models/aether-2.2.x/files/yang/apn-profile.yang b/config-models/aether-2.2.x/files/yang/apn-profile.yang
deleted file mode 100755
index 3d0ba48..0000000
--- a/config-models/aether-2.2.x/files/yang/apn-profile.yang
+++ /dev/null
@@ -1,101 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module apn-profile {
- namespace "http://opennetworking.org/aether/apn-profile";
- prefix pro;
-
- import ietf-inet-types { prefix inet; }
- import service-group { prefix sg; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2021-03-04" {
- description "An Aether APN Profile";
- reference "RFC 6087";
- }
-
- // TODO: Think more on whether this should be a UUID or
- // simply a unique name. If it's a UUID, could fix the
- // string length.
- typedef apn-profile-id {
- type string {
- length 1..32;
- }
- description "The typedef for apn-profile-id";
- }
-
- container apn-profile {
- description "The top level container";
-
- list apn-profile {
- key "id";
- description
- "List of apn profiles";
-
- leaf id {
- type apn-profile-id;
- description "ID for this apn profile.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf apn-name {
- type string {
- length 1..32;
- }
- description "apn name";
- }
-
- leaf dns-primary {
- type inet:ip-address;
- description "primary dns server name";
- }
-
- leaf dns-secondary {
- type inet:ip-address;
- description "secondary dns server name";
- }
-
- leaf mtu {
- type uint32 {
- range 68..65535;
- }
- units bytes;
- default 1460;
- description "maximum transmission unit";
- }
-
- leaf gx-enabled {
- type boolean;
- default false;
- description "enable gx interface";
- }
-
- leaf description {
- type string {
- length 1..100;
- }
- description "description of this profile";
- }
-
- leaf service-group {
- type leafref {
- path "/sg:service-group/sg:service-group/sg:id";
- }
- description
- "Link to service group";
- }
- }
- }
-}
diff --git a/config-models/aether-2.2.x/files/yang/connectivity-service.yang b/config-models/aether-2.2.x/files/yang/connectivity-service.yang
deleted file mode 100755
index 7a00b2f..0000000
--- a/config-models/aether-2.2.x/files/yang/connectivity-service.yang
+++ /dev/null
@@ -1,72 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module connectivity-service {
- namespace "http://opennetworking.org/aether/connectivity-service";
- prefix cs;
-
- import ietf-inet-types { prefix inet; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2021-03-18" {
- description "An Aether Connectivity Service. Specifies the endpoints where the sdcore-adapter should push configuration to. A single connectivity service may be attached to multiple Enterprises.";
- reference "RFC 6087";
- }
-
- typedef connectivity-service-id {
- type string {
- length 1..32;
- }
- description "The typedef for connectivity-service-id";
- }
-
- container connectivity-service {
- description "The top level container";
-
- list connectivity-service {
- key "id";
- description
- "List of connectivity services";
-
- leaf id {
- type connectivity-service-id;
- description "ID for this connectivity service.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf description {
- type string {
- length 1..100;
- }
- description "description of this connectivity service";
- }
-
- leaf spgwc-endpoint {
- type inet:uri;
- description "url of the spgwc service";
- }
-
- leaf hss-endpoint {
- type inet:uri;
- description "url of the hss service";
- }
-
- leaf pcrf-endpoint {
- type inet:uri;
- description "url of the pcrf service";
- }
- }
- }
-}
diff --git a/config-models/aether-2.2.x/files/yang/enterprise.yang b/config-models/aether-2.2.x/files/yang/enterprise.yang
deleted file mode 100755
index 2bf1bdf..0000000
--- a/config-models/aether-2.2.x/files/yang/enterprise.yang
+++ /dev/null
@@ -1,75 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module enterprise {
- namespace "http://opennetworking.org/aether/enterprise";
- prefix ent;
-
- import connectivity-service { prefix cs; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2020-11-30" {
- description "An Aether Enterprise. Used to distinguish ownership of devices and other resources as well as a domain of configuration.";
- reference "RFC 6087";
- }
-
- typedef enterprise-id {
- type string {
- length 1..32;
- }
- description "The typedef for enterprise-id";
- }
-
- container enterprise {
- description "The top level container";
-
- list enterprise {
- key "id";
- description
- "List of enterprises";
-
- leaf id {
- type enterprise-id;
- description "ID for this enterprise.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf description {
- type string {
- length 1..100;
- }
- description "description of this enterprise";
- }
-
- list connectivity-service {
- key "connectivity-service";
- leaf connectivity-service {
- type leafref {
- path "/cs:connectivity-service/cs:connectivity-service/cs:id";
- }
- description
- "Link to connectivity services where configuration should be pushed for this enterprise's devices";
- }
- leaf enabled {
- type boolean;
- default true;
- description
- "Allow or disallow pushes to this connectivity service";
- }
- description "The list for connectivity-service";
- }
- }
- }
-}
diff --git a/config-models/aether-2.2.x/files/yang/ietf-inet-types.yang b/config-models/aether-2.2.x/files/yang/ietf-inet-types.yang
deleted file mode 100644
index fa57f75..0000000
--- a/config-models/aether-2.2.x/files/yang/ietf-inet-types.yang
+++ /dev/null
@@ -1,458 +0,0 @@
-module ietf-inet-types {
-
- namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types";
- prefix "inet";
-
- organization
- "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
- contact
- "WG Web: <http://tools.ietf.org/wg/netmod/>
- WG List: <mailto:netmod@ietf.org>
-
- WG Chair: David Kessens
- <mailto:david.kessens@nsn.com>
-
- WG Chair: Juergen Schoenwaelder
- <mailto:j.schoenwaelder@jacobs-university.de>
-
- Editor: Juergen Schoenwaelder
- <mailto:j.schoenwaelder@jacobs-university.de>";
-
- description
- "This module contains a collection of generally useful derived
- YANG data types for Internet addresses and related things.
-
- Copyright (c) 2013 IETF Trust and the persons identified as
- authors of the code. All rights reserved.
-
- Redistribution and use in source and binary forms, with or
- without modification, is permitted pursuant to, and subject
- to the license terms contained in, the Simplified BSD License
- set forth in Section 4.c of the IETF Trust's Legal Provisions
- Relating to IETF Documents
- (http://trustee.ietf.org/license-info).
-
- This version of this YANG module is part of RFC 6991; see
- the RFC itself for full legal notices.";
-
- revision 2013-07-15 {
- description
- "This revision adds the following new data types:
- - ip-address-no-zone
- - ipv4-address-no-zone
- - ipv6-address-no-zone";
- reference
- "RFC 6991: Common YANG Data Types";
- }
-
- revision 2010-09-24 {
- description
- "Initial revision.";
- reference
- "RFC 6021: Common YANG Data Types";
- }
-
- /*** collection of types related to protocol fields ***/
-
- typedef ip-version {
- type enumeration {
- enum unknown {
- value "0";
- description
- "An unknown or unspecified version of the Internet
- protocol.";
- }
- enum ipv4 {
- value "1";
- description
- "The IPv4 protocol as defined in RFC 791.";
- }
- enum ipv6 {
- value "2";
- description
- "The IPv6 protocol as defined in RFC 2460.";
- }
- }
- description
- "This value represents the version of the IP protocol.
-
- In the value set and its semantics, this type is equivalent
- to the InetVersion textual convention of the SMIv2.";
- reference
- "RFC 791: Internet Protocol
- RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
- RFC 4001: Textual Conventions for Internet Network Addresses";
- }
-
- typedef dscp {
- type uint8 {
- range "0..63";
- }
- description
- "The dscp type represents a Differentiated Services Code Point
- that may be used for marking packets in a traffic stream.
- In the value set and its semantics, this type is equivalent
- to the Dscp textual convention of the SMIv2.";
- reference
- "RFC 3289: Management Information Base for the Differentiated
- Services Architecture
- RFC 2474: Definition of the Differentiated Services Field
- (DS Field) in the IPv4 and IPv6 Headers
- RFC 2780: IANA Allocation Guidelines For Values In
- the Internet Protocol and Related Headers";
- }
-
- typedef ipv6-flow-label {
- type uint32 {
- range "0..1048575";
- }
- description
- "The ipv6-flow-label type represents the flow identifier or Flow
- Label in an IPv6 packet header that may be used to
- discriminate traffic flows.
-
- In the value set and its semantics, this type is equivalent
- to the IPv6FlowLabel textual convention of the SMIv2.";
- reference
- "RFC 3595: Textual Conventions for IPv6 Flow Label
- RFC 2460: Internet Protocol, Version 6 (IPv6) Specification";
- }
-
- typedef port-number {
- type uint16 {
- range "0..65535";
- }
- description
- "The port-number type represents a 16-bit port number of an
- Internet transport-layer protocol such as UDP, TCP, DCCP, or
- SCTP. Port numbers are assigned by IANA. A current list of
- all assignments is available from <http://www.iana.org/>.
-
- Note that the port number value zero is reserved by IANA. In
- situations where the value zero does not make sense, it can
- be excluded by subtyping the port-number type.
- In the value set and its semantics, this type is equivalent
- to the InetPortNumber textual convention of the SMIv2.";
- reference
- "RFC 768: User Datagram Protocol
- RFC 793: Transmission Control Protocol
- RFC 4960: Stream Control Transmission Protocol
- RFC 4340: Datagram Congestion Control Protocol (DCCP)
- RFC 4001: Textual Conventions for Internet Network Addresses";
- }
-
- /*** collection of types related to autonomous systems ***/
-
- typedef as-number {
- type uint32;
- description
- "The as-number type represents autonomous system numbers
- which identify an Autonomous System (AS). An AS is a set
- of routers under a single technical administration, using
- an interior gateway protocol and common metrics to route
- packets within the AS, and using an exterior gateway
- protocol to route packets to other ASes. IANA maintains
- the AS number space and has delegated large parts to the
- regional registries.
-
- Autonomous system numbers were originally limited to 16
- bits. BGP extensions have enlarged the autonomous system
- number space to 32 bits. This type therefore uses an uint32
- base type without a range restriction in order to support
- a larger autonomous system number space.
-
- In the value set and its semantics, this type is equivalent
- to the InetAutonomousSystemNumber textual convention of
- the SMIv2.";
- reference
- "RFC 1930: Guidelines for creation, selection, and registration
- of an Autonomous System (AS)
- RFC 4271: A Border Gateway Protocol 4 (BGP-4)
- RFC 4001: Textual Conventions for Internet Network Addresses
- RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
- Number Space";
- }
-
- /*** collection of types related to IP addresses and hostnames ***/
-
- typedef ip-address {
- type union {
- type inet:ipv4-address;
- type inet:ipv6-address;
- }
- description
- "The ip-address type represents an IP address and is IP
- version neutral. The format of the textual representation
- implies the IP version. This type supports scoped addresses
- by allowing zone identifiers in the address format.";
- reference
- "RFC 4007: IPv6 Scoped Address Architecture";
- }
-
- typedef ipv4-address {
- type string {
- pattern
- '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
- + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
- + '(%[\p{N}\p{L}]+)?';
- }
- description
- "The ipv4-address type represents an IPv4 address in
- dotted-quad notation. The IPv4 address may include a zone
- index, separated by a % sign.
-
- The zone index is used to disambiguate identical address
- values. For link-local addresses, the zone index will
- typically be the interface index number or the name of an
- interface. If the zone index is not present, the default
- zone of the device will be used.
-
- The canonical format for the zone index is the numerical
- format";
- }
-
- typedef ipv6-address {
- type string {
- pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
- + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
- + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
- + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
- + '(%[\p{N}\p{L}]+)?';
- pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
- + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
- + '(%.+)?';
- }
- description
- "The ipv6-address type represents an IPv6 address in full,
- mixed, shortened, and shortened-mixed notation. The IPv6
- address may include a zone index, separated by a % sign.
-
- The zone index is used to disambiguate identical address
- values. For link-local addresses, the zone index will
- typically be the interface index number or the name of an
- interface. If the zone index is not present, the default
- zone of the device will be used.
-
- The canonical format of IPv6 addresses uses the textual
- representation defined in Section 4 of RFC 5952. The
- canonical format for the zone index is the numerical
- format as described in Section 11.2 of RFC 4007.";
- reference
- "RFC 4291: IP Version 6 Addressing Architecture
- RFC 4007: IPv6 Scoped Address Architecture
- RFC 5952: A Recommendation for IPv6 Address Text
- Representation";
- }
-
- typedef ip-address-no-zone {
- type union {
- type inet:ipv4-address-no-zone;
- type inet:ipv6-address-no-zone;
- }
- description
- "The ip-address-no-zone type represents an IP address and is
- IP version neutral. The format of the textual representation
- implies the IP version. This type does not support scoped
- addresses since it does not allow zone identifiers in the
- address format.";
- reference
- "RFC 4007: IPv6 Scoped Address Architecture";
- }
-
- typedef ipv4-address-no-zone {
- type inet:ipv4-address {
- pattern '[0-9\.]*';
- }
- description
- "An IPv4 address without a zone index. This type, derived from
- ipv4-address, may be used in situations where the zone is
- known from the context and hence no zone index is needed.";
- }
-
- typedef ipv6-address-no-zone {
- type inet:ipv6-address {
- pattern '[0-9a-fA-F:\.]*';
- }
- description
- "An IPv6 address without a zone index. This type, derived from
- ipv6-address, may be used in situations where the zone is
- known from the context and hence no zone index is needed.";
- reference
- "RFC 4291: IP Version 6 Addressing Architecture
- RFC 4007: IPv6 Scoped Address Architecture
- RFC 5952: A Recommendation for IPv6 Address Text
- Representation";
- }
-
- typedef ip-prefix {
- type union {
- type inet:ipv4-prefix;
- type inet:ipv6-prefix;
- }
- description
- "The ip-prefix type represents an IP prefix and is IP
- version neutral. The format of the textual representations
- implies the IP version.";
- }
-
- typedef ipv4-prefix {
- type string {
- pattern
- '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
- + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
- + '/(([0-9])|([1-2][0-9])|(3[0-2]))';
- }
- description
- "The ipv4-prefix type represents an IPv4 address prefix.
- The prefix length is given by the number following the
- slash character and must be less than or equal to 32.
-
- A prefix length value of n corresponds to an IP address
- mask that has n contiguous 1-bits from the most
- significant bit (MSB) and all other bits set to 0.
-
- The canonical format of an IPv4 prefix has all bits of
- the IPv4 address set to zero that are not part of the
- IPv4 prefix.";
- }
-
- typedef ipv6-prefix {
- type string {
- pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
- + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
- + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
- + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
- + '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))';
- pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
- + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
- + '(/.+)';
- }
-
- description
- "The ipv6-prefix type represents an IPv6 address prefix.
- The prefix length is given by the number following the
- slash character and must be less than or equal to 128.
-
- A prefix length value of n corresponds to an IP address
- mask that has n contiguous 1-bits from the most
- significant bit (MSB) and all other bits set to 0.
-
- The IPv6 address should have all bits that do not belong
- to the prefix set to zero.
-
- The canonical format of an IPv6 prefix has all bits of
- the IPv6 address set to zero that are not part of the
- IPv6 prefix. Furthermore, the IPv6 address is represented
- as defined in Section 4 of RFC 5952.";
- reference
- "RFC 5952: A Recommendation for IPv6 Address Text
- Representation";
- }
-
- /*** collection of domain name and URI types ***/
-
- typedef domain-name {
- type string {
- length "1..253";
- pattern
- '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
- + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
- + '|\.';
- }
- description
- "The domain-name type represents a DNS domain name. The
- name SHOULD be fully qualified whenever possible.
-
- Internet domain names are only loosely specified. Section
- 3.5 of RFC 1034 recommends a syntax (modified in Section
- 2.1 of RFC 1123). The pattern above is intended to allow
- for current practice in domain name use, and some possible
- future expansion. It is designed to hold various types of
- domain names, including names used for A or AAAA records
- (host names) and other records, such as SRV records. Note
- that Internet host names have a stricter syntax (described
- in RFC 952) than the DNS recommendations in RFCs 1034 and
- 1123, and that systems that want to store host names in
- schema nodes using the domain-name type are recommended to
- adhere to this stricter standard to ensure interoperability.
-
- The encoding of DNS names in the DNS protocol is limited
- to 255 characters. Since the encoding consists of labels
- prefixed by a length bytes and there is a trailing NULL
- byte, only 253 characters can appear in the textual dotted
- notation.
-
- The description clause of schema nodes using the domain-name
- type MUST describe when and how these names are resolved to
- IP addresses. Note that the resolution of a domain-name value
- may require to query multiple DNS records (e.g., A for IPv4
- and AAAA for IPv6). The order of the resolution process and
- which DNS record takes precedence can either be defined
- explicitly or may depend on the configuration of the
- resolver.
-
- Domain-name values use the US-ASCII encoding. Their canonical
- format uses lowercase US-ASCII characters. Internationalized
- domain names MUST be A-labels as per RFC 5890.";
- reference
- "RFC 952: DoD Internet Host Table Specification
- RFC 1034: Domain Names - Concepts and Facilities
- RFC 1123: Requirements for Internet Hosts -- Application
- and Support
- RFC 2782: A DNS RR for specifying the location of services
- (DNS SRV)
- RFC 5890: Internationalized Domain Names in Applications
- (IDNA): Definitions and Document Framework";
- }
-
- typedef host {
- type union {
- type inet:ip-address;
- type inet:domain-name;
- }
- description
- "The host type represents either an IP address or a DNS
- domain name.";
- }
-
- typedef uri {
- type string;
- description
- "The uri type represents a Uniform Resource Identifier
- (URI) as defined by STD 66.
-
- Objects using the uri type MUST be in US-ASCII encoding,
- and MUST be normalized as described by RFC 3986 Sections
- 6.2.1, 6.2.2.1, and 6.2.2.2. All unnecessary
- percent-encoding is removed, and all case-insensitive
- characters are set to lowercase except for hexadecimal
- digits, which are normalized to uppercase as described in
- Section 6.2.2.1.
-
- The purpose of this normalization is to help provide
- unique URIs. Note that this normalization is not
- sufficient to provide uniqueness. Two URIs that are
- textually distinct after this normalization may still be
- equivalent.
-
- Objects using the uri type may restrict the schemes that
- they permit. For example, 'data:' and 'urn:' schemes
- might not be appropriate.
-
- A zero-length URI is not a valid URI. This can be used to
- express 'URI absent' where required.
-
- In the value set and its semantics, this type is equivalent
- to the Uri SMIv2 textual convention defined in RFC 5017.";
- reference
- "RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
- RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
- Group: Uniform Resource Identifiers (URIs), URLs,
- and Uniform Resource Names (URNs): Clarifications
- and Recommendations
- RFC 5017: MIB Textual Conventions for Uniform Resource
- Identifiers (URIs)";
- }
-
-}
diff --git a/config-models/aether-2.2.x/files/yang/ietf-yang-types.yang b/config-models/aether-2.2.x/files/yang/ietf-yang-types.yang
deleted file mode 100644
index ee58fa3..0000000
--- a/config-models/aether-2.2.x/files/yang/ietf-yang-types.yang
+++ /dev/null
@@ -1,474 +0,0 @@
-module ietf-yang-types {
-
- namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
- prefix "yang";
-
- organization
- "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
- contact
- "WG Web: <http://tools.ietf.org/wg/netmod/>
- WG List: <mailto:netmod@ietf.org>
-
- WG Chair: David Kessens
- <mailto:david.kessens@nsn.com>
-
- WG Chair: Juergen Schoenwaelder
- <mailto:j.schoenwaelder@jacobs-university.de>
-
- Editor: Juergen Schoenwaelder
- <mailto:j.schoenwaelder@jacobs-university.de>";
-
- description
- "This module contains a collection of generally useful derived
- YANG data types.
-
- Copyright (c) 2013 IETF Trust and the persons identified as
- authors of the code. All rights reserved.
-
- Redistribution and use in source and binary forms, with or
- without modification, is permitted pursuant to, and subject
- to the license terms contained in, the Simplified BSD License
- set forth in Section 4.c of the IETF Trust's Legal Provisions
- Relating to IETF Documents
- (http://trustee.ietf.org/license-info).
-
- This version of this YANG module is part of RFC 6991; see
- the RFC itself for full legal notices.";
-
- revision 2013-07-15 {
- description
- "This revision adds the following new data types:
- - yang-identifier
- - hex-string
- - uuid
- - dotted-quad";
- reference
- "RFC 6991: Common YANG Data Types";
- }
-
- revision 2010-09-24 {
- description
- "Initial revision.";
- reference
- "RFC 6021: Common YANG Data Types";
- }
-
- /*** collection of counter and gauge types ***/
-
- typedef counter32 {
- type uint32;
- description
- "The counter32 type represents a non-negative integer
- that monotonically increases until it reaches a
- maximum value of 2^32-1 (4294967295 decimal), when it
- wraps around and starts increasing again from zero.
-
- Counters have no defined 'initial' value, and thus, a
- single value of a counter has (in general) no information
- content. Discontinuities in the monotonically increasing
- value normally occur at re-initialization of the
- management system, and at other times as specified in the
- description of a schema node using this type. If such
- other times can occur, for example, the creation of
- a schema node of type counter32 at times other than
- re-initialization, then a corresponding schema node
- should be defined, with an appropriate type, to indicate
- the last discontinuity.
-
- The counter32 type should not be used for configuration
- schema nodes. A default statement SHOULD NOT be used in
- combination with the type counter32.
-
- In the value set and its semantics, this type is equivalent
- to the Counter32 type of the SMIv2.";
- reference
- "RFC 2578: Structure of Management Information Version 2
- (SMIv2)";
- }
-
- typedef zero-based-counter32 {
- type yang:counter32;
- default "0";
- description
- "The zero-based-counter32 type represents a counter32
- that has the defined 'initial' value zero.
-
- A schema node of this type will be set to zero (0) on creation
- and will thereafter increase monotonically until it reaches
- a maximum value of 2^32-1 (4294967295 decimal), when it
- wraps around and starts increasing again from zero.
-
- Provided that an application discovers a new schema node
- of this type within the minimum time to wrap, it can use the
- 'initial' value as a delta. It is important for a management
- station to be aware of this minimum time and the actual time
- between polls, and to discard data if the actual time is too
- long or there is no defined minimum time.
-
- In the value set and its semantics, this type is equivalent
- to the ZeroBasedCounter32 textual convention of the SMIv2.";
- reference
- "RFC 4502: Remote Network Monitoring Management Information
- Base Version 2";
- }
-
- typedef counter64 {
- type uint64;
- description
- "The counter64 type represents a non-negative integer
- that monotonically increases until it reaches a
- maximum value of 2^64-1 (18446744073709551615 decimal),
- when it wraps around and starts increasing again from zero.
-
- Counters have no defined 'initial' value, and thus, a
- single value of a counter has (in general) no information
- content. Discontinuities in the monotonically increasing
- value normally occur at re-initialization of the
- management system, and at other times as specified in the
- description of a schema node using this type. If such
- other times can occur, for example, the creation of
- a schema node of type counter64 at times other than
- re-initialization, then a corresponding schema node
- should be defined, with an appropriate type, to indicate
- the last discontinuity.
-
- The counter64 type should not be used for configuration
- schema nodes. A default statement SHOULD NOT be used in
- combination with the type counter64.
-
- In the value set and its semantics, this type is equivalent
- to the Counter64 type of the SMIv2.";
- reference
- "RFC 2578: Structure of Management Information Version 2
- (SMIv2)";
- }
-
- typedef zero-based-counter64 {
- type yang:counter64;
- default "0";
- description
- "The zero-based-counter64 type represents a counter64 that
- has the defined 'initial' value zero.
-
- A schema node of this type will be set to zero (0) on creation
- and will thereafter increase monotonically until it reaches
- a maximum value of 2^64-1 (18446744073709551615 decimal),
- when it wraps around and starts increasing again from zero.
-
- Provided that an application discovers a new schema node
- of this type within the minimum time to wrap, it can use the
- 'initial' value as a delta. It is important for a management
- station to be aware of this minimum time and the actual time
- between polls, and to discard data if the actual time is too
- long or there is no defined minimum time.
-
- In the value set and its semantics, this type is equivalent
- to the ZeroBasedCounter64 textual convention of the SMIv2.";
- reference
- "RFC 2856: Textual Conventions for Additional High Capacity
- Data Types";
- }
-
- typedef gauge32 {
- type uint32;
- description
- "The gauge32 type represents a non-negative integer, which
- may increase or decrease, but shall never exceed a maximum
- value, nor fall below a minimum value. The maximum value
- cannot be greater than 2^32-1 (4294967295 decimal), and
- the minimum value cannot be smaller than 0. The value of
- a gauge32 has its maximum value whenever the information
- being modeled is greater than or equal to its maximum
- value, and has its minimum value whenever the information
- being modeled is smaller than or equal to its minimum value.
- If the information being modeled subsequently decreases
- below (increases above) the maximum (minimum) value, the
- gauge32 also decreases (increases).
-
- In the value set and its semantics, this type is equivalent
- to the Gauge32 type of the SMIv2.";
- reference
- "RFC 2578: Structure of Management Information Version 2
- (SMIv2)";
- }
-
- typedef gauge64 {
- type uint64;
- description
- "The gauge64 type represents a non-negative integer, which
- may increase or decrease, but shall never exceed a maximum
- value, nor fall below a minimum value. The maximum value
- cannot be greater than 2^64-1 (18446744073709551615), and
- the minimum value cannot be smaller than 0. The value of
- a gauge64 has its maximum value whenever the information
- being modeled is greater than or equal to its maximum
- value, and has its minimum value whenever the information
- being modeled is smaller than or equal to its minimum value.
- If the information being modeled subsequently decreases
- below (increases above) the maximum (minimum) value, the
- gauge64 also decreases (increases).
-
- In the value set and its semantics, this type is equivalent
- to the CounterBasedGauge64 SMIv2 textual convention defined
- in RFC 2856";
- reference
- "RFC 2856: Textual Conventions for Additional High Capacity
- Data Types";
- }
-
- /*** collection of identifier-related types ***/
-
- typedef object-identifier {
- type string {
- pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
- + '(\.(0|([1-9]\d*)))*';
- }
- description
- "The object-identifier type represents administratively
- assigned names in a registration-hierarchical-name tree.
-
- Values of this type are denoted as a sequence of numerical
- non-negative sub-identifier values. Each sub-identifier
- value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
- are separated by single dots and without any intermediate
- whitespace.
-
- The ASN.1 standard restricts the value space of the first
- sub-identifier to 0, 1, or 2. Furthermore, the value space
- of the second sub-identifier is restricted to the range
- 0 to 39 if the first sub-identifier is 0 or 1. Finally,
- the ASN.1 standard requires that an object identifier
- has always at least two sub-identifiers. The pattern
- captures these restrictions.
-
- Although the number of sub-identifiers is not limited,
- module designers should realize that there may be
- implementations that stick with the SMIv2 limit of 128
- sub-identifiers.
-
- This type is a superset of the SMIv2 OBJECT IDENTIFIER type
- since it is not restricted to 128 sub-identifiers. Hence,
- this type SHOULD NOT be used to represent the SMIv2 OBJECT
- IDENTIFIER type; the object-identifier-128 type SHOULD be
- used instead.";
- reference
- "ISO9834-1: Information technology -- Open Systems
- Interconnection -- Procedures for the operation of OSI
- Registration Authorities: General procedures and top
- arcs of the ASN.1 Object Identifier tree";
- }
-
- typedef object-identifier-128 {
- type object-identifier {
- pattern '\d*(\.\d*){1,127}';
- }
- description
- "This type represents object-identifiers restricted to 128
- sub-identifiers.
-
- In the value set and its semantics, this type is equivalent
- to the OBJECT IDENTIFIER type of the SMIv2.";
- reference
- "RFC 2578: Structure of Management Information Version 2
- (SMIv2)";
- }
-
- typedef yang-identifier {
- type string {
- length "1..max";
- pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
- pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
- }
- description
- "A YANG identifier string as defined by the 'identifier'
- rule in Section 12 of RFC 6020. An identifier must
- start with an alphabetic character or an underscore
- followed by an arbitrary sequence of alphabetic or
- numeric characters, underscores, hyphens, or dots.
-
- A YANG identifier MUST NOT start with any possible
- combination of the lowercase or uppercase character
- sequence 'xml'.";
- reference
- "RFC 6020: YANG - A Data Modeling Language for the Network
- Configuration Protocol (NETCONF)";
- }
-
- /*** collection of types related to date and time***/
-
- typedef date-and-time {
- type string {
- pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
- + '(Z|[\+\-]\d{2}:\d{2})';
- }
- description
- "The date-and-time type is a profile of the ISO 8601
- standard for representation of dates and times using the
- Gregorian calendar. The profile is defined by the
- date-time production in Section 5.6 of RFC 3339.
-
- The date-and-time type is compatible with the dateTime XML
- schema type with the following notable exceptions:
-
- (a) The date-and-time type does not allow negative years.
-
- (b) The date-and-time time-offset -00:00 indicates an unknown
- time zone (see RFC 3339) while -00:00 and +00:00 and Z
- all represent the same time zone in dateTime.
-
- (c) The canonical format (see below) of data-and-time values
- differs from the canonical format used by the dateTime XML
- schema type, which requires all times to be in UTC using
- the time-offset 'Z'.
-
- This type is not equivalent to the DateAndTime textual
- convention of the SMIv2 since RFC 3339 uses a different
- separator between full-date and full-time and provides
- higher resolution of time-secfrac.
-
- The canonical format for date-and-time values with a known time
- zone uses a numeric time zone offset that is calculated using
- the device's configured known offset to UTC time. A change of
- the device's offset to UTC time will cause date-and-time values
- to change accordingly. Such changes might happen periodically
- in case a server follows automatically daylight saving time
- (DST) time zone offset changes. The canonical format for
- date-and-time values with an unknown time zone (usually
- referring to the notion of local time) uses the time-offset
- -00:00.";
- reference
- "RFC 3339: Date and Time on the Internet: Timestamps
- RFC 2579: Textual Conventions for SMIv2
- XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
- }
-
- typedef timeticks {
- type uint32;
- description
- "The timeticks type represents a non-negative integer that
- represents the time, modulo 2^32 (4294967296 decimal), in
- hundredths of a second between two epochs. When a schema
- node is defined that uses this type, the description of
- the schema node identifies both of the reference epochs.
-
- In the value set and its semantics, this type is equivalent
- to the TimeTicks type of the SMIv2.";
- reference
- "RFC 2578: Structure of Management Information Version 2
- (SMIv2)";
- }
-
- typedef timestamp {
- type yang:timeticks;
- description
- "The timestamp type represents the value of an associated
- timeticks schema node at which a specific occurrence
- happened. The specific occurrence must be defined in the
- description of any schema node defined using this type. When
- the specific occurrence occurred prior to the last time the
- associated timeticks attribute was zero, then the timestamp
- value is zero. Note that this requires all timestamp values
- to be reset to zero when the value of the associated timeticks
- attribute reaches 497+ days and wraps around to zero.
-
- The associated timeticks schema node must be specified
- in the description of any schema node using this type.
-
- In the value set and its semantics, this type is equivalent
- to the TimeStamp textual convention of the SMIv2.";
- reference
- "RFC 2579: Textual Conventions for SMIv2";
- }
-
- /*** collection of generic address types ***/
-
- typedef phys-address {
- type string {
- pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
- }
-
- description
- "Represents media- or physical-level addresses represented
- as a sequence octets, each octet represented by two hexadecimal
- numbers. Octets are separated by colons. The canonical
- representation uses lowercase characters.
-
- In the value set and its semantics, this type is equivalent
- to the PhysAddress textual convention of the SMIv2.";
- reference
- "RFC 2579: Textual Conventions for SMIv2";
- }
-
- typedef mac-address {
- type string {
- pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
- }
- description
- "The mac-address type represents an IEEE 802 MAC address.
- The canonical representation uses lowercase characters.
-
- In the value set and its semantics, this type is equivalent
- to the MacAddress textual convention of the SMIv2.";
- reference
- "IEEE 802: IEEE Standard for Local and Metropolitan Area
- Networks: Overview and Architecture
- RFC 2579: Textual Conventions for SMIv2";
- }
-
- /*** collection of XML-specific types ***/
-
- typedef xpath1.0 {
- type string;
- description
- "This type represents an XPATH 1.0 expression.
-
- When a schema node is defined that uses this type, the
- description of the schema node MUST specify the XPath
- context in which the XPath expression is evaluated.";
- reference
- "XPATH: XML Path Language (XPath) Version 1.0";
- }
-
- /*** collection of string types ***/
-
- typedef hex-string {
- type string {
- pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
- }
- description
- "A hexadecimal string with octets represented as hex digits
- separated by colons. The canonical representation uses
- lowercase characters.";
- }
-
- typedef uuid {
- type string {
- pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
- + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
- }
- description
- "A Universally Unique IDentifier in the string representation
- defined in RFC 4122. The canonical representation uses
- lowercase characters.
-
- The following is an example of a UUID in string representation:
- f81d4fae-7dec-11d0-a765-00a0c91e6bf6
- ";
- reference
- "RFC 4122: A Universally Unique IDentifier (UUID) URN
- Namespace";
- }
-
- typedef dotted-quad {
- type string {
- pattern
- '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
- + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
- }
- description
- "An unsigned 32-bit number expressed in the dotted-quad
- notation, i.e., four octets written as decimal numbers
- and separated with the '.' (full stop) character.";
- }
-}
diff --git a/config-models/aether-2.2.x/files/yang/qos-profile.yang b/config-models/aether-2.2.x/files/yang/qos-profile.yang
deleted file mode 100755
index 2dfaf20..0000000
--- a/config-models/aether-2.2.x/files/yang/qos-profile.yang
+++ /dev/null
@@ -1,113 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module qos-profile {
- namespace "http://opennetworking.org/aether/qos-profile";
- prefix pro;
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2020-10-22" {
- description "An Aether qos Profile";
- reference "RFC 6087";
- }
-
- // TODO: Think more on whether this should be a UUID or
- // simply a unique name. If it's a UUID, could fix the
- // string length.
- typedef qos-profile-id {
- type string {
- length 1..32;
- }
- description "The typedef for qos-profile-id";
- }
-
- container qos-profile {
- description "The top level container";
-
- list qos-profile {
- key "id";
- description
- "List of qos profiles";
-
- leaf id {
- type qos-profile-id;
- description "ID for this qos profile.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- container apn-ambr {
- leaf uplink {
- type uint32 {
- range 0..4294967295;
- }
- units bps;
- default 0;
- description
- "Upstream aggregate maximum bit rate";
- }
- leaf downlink {
- type uint32 {
- range 0..4294967295;
- }
- units bps;
- default 0;
- description
- "Downstream aggregate maximum bit rate";
- }
- description "The container for apn-ambr";
- }
-
- leaf qci {
- type uint32 {
- range 0..85;
- }
- default 9;
- description
- "QoS Class Identifier";
- }
-
- container arp {
- leaf priority {
- type uint32 {
- range 0..15;
- }
- default 0;
- description
- "Priority";
- }
- leaf preemption-capability {
- type boolean;
- default true;
- description
- "True if a bearer with lower priority should be dropped";
- }
- leaf preemption-vulnerability {
- type boolean;
- default true;
- description
- "This bearer may be dropped for a bearer with higher priority";
- }
- description "Evolved-ARP";
- }
-
- leaf description {
- type string {
- length 1..100;
- }
- description "description of this profile";
- }
- }
- }
-}
diff --git a/config-models/aether-2.2.x/files/yang/security-profile.yang b/config-models/aether-2.2.x/files/yang/security-profile.yang
deleted file mode 100755
index 0655c34..0000000
--- a/config-models/aether-2.2.x/files/yang/security-profile.yang
+++ /dev/null
@@ -1,84 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module security-profile {
- namespace "http://opennetworking.org/aether/security-profile";
- prefix sec;
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2021-05-10" {
- description "An Aether Security Profile. Contains keys and other security items associated with devices. Configured by the operator.";
- reference "RFC 6087";
- }
-
- typedef security-profile-id {
- type string {
- length 1..32;
- }
- description "The typedef for security-profile-id";
- }
-
- container security-profile {
- description "The top level container";
-
- list security-profile {
- key "id";
- description
- "List of security profiles";
-
- leaf id {
- type security-profile-id;
- description "ID for this security profile.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf imsi-range-from {
- type uint64;
- description "Starting IMSI in range to apply this security profile to";
- }
-
- leaf imsi-range-to {
- type uint64;
- description "Ending IMSI in range to apply this security profile to";
- }
-
- leaf key {
- type string {
- length 1..32;
- }
- description "Secret key for USIM";
- }
-
- leaf opc {
- type string {
- length 1..32;
- }
- description "Secret key for Operator";
- }
-
- leaf sqn {
- type uint32;
- description "sequence number";
- }
-
- leaf description {
- type string {
- length 1..100;
- }
- description "description of this security profile";
- }
- }
- }
-}
diff --git a/config-models/aether-2.2.x/files/yang/service-group.yang b/config-models/aether-2.2.x/files/yang/service-group.yang
deleted file mode 100755
index 460463f..0000000
--- a/config-models/aether-2.2.x/files/yang/service-group.yang
+++ /dev/null
@@ -1,83 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module service-group {
- namespace "http://opennetworking.org/aether/service-group";
- prefix sg;
-
- import service-policy { prefix serv; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2021-03-04" {
- description "An Aether Service Group";
- reference "RFC 6087";
- }
-
- typedef service-group-id {
- type string {
- length 1..32;
- }
- description "The typedef for service-group-id";
- }
-
- typedef service-kind {
- type string {
- length 1..32;
- pattern "default|on-demand";
- }
- description "The typedef for service-kind";
- }
-
- container service-group {
- description "The top level container";
-
- list service-group {
- key "id";
- description
- "List of service groups";
-
- leaf id {
- type service-group-id;
- description "ID for this service group.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- list service-policies {
- key "service-policy";
- leaf service-policy {
- type leafref {
- path "/serv:service-policy/serv:service-policy/serv:id";
- }
- description
- "Link to service policy";
- }
- leaf kind {
- type service-kind;
- default "default";
- description
- "Type of service link";
- }
- description "The list for service-policies";
- }
-
- leaf description {
- type string {
- length 1..100;
- }
- description "description of this service group";
- }
- }
- }
-}
diff --git a/config-models/aether-2.2.x/files/yang/service-policy.yang b/config-models/aether-2.2.x/files/yang/service-policy.yang
deleted file mode 100755
index e6598a7..0000000
--- a/config-models/aether-2.2.x/files/yang/service-policy.yang
+++ /dev/null
@@ -1,115 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module service-policy {
- namespace "http://opennetworking.org/aether/service-policy";
- prefix serv;
-
- import service-rule { prefix sr; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2021-03-04" {
- description "An Aether Service";
- reference "RFC 6087";
- }
-
- typedef service-policy-id {
- type string {
- length 1..32;
- }
- description "The typedef for service-policy-id";
- }
-
- container service-policy {
- description "The top level container";
-
- list service-policy {
- key "id";
- description
- "List of services";
-
- leaf id {
- type service-policy-id;
- description "ID for this service.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf qci {
- type uint32 {
- range 0..85;
- }
- default 9;
- description
- "QoS Class Identifier";
- }
-
- leaf arp {
- type uint32 {
- range 0..15;
- }
- default 9;
- description
- "Evolved-ARP";
- }
-
- container ambr {
- leaf uplink {
- type uint32 {
- range 0..4294967295;
- }
- units bps;
- default 0;
- description
- "Upstream aggregate maximum bit rate";
- }
- leaf downlink {
- type uint32 {
- range 0..4294967295;
- }
- units bps;
- default 0;
- description
- "Downstream aggregate maximum bit rate";
- }
- description "The container for ambr";
- }
-
- list rules {
- key "rule";
- leaf rule {
- type leafref {
- path "/sr:service-rule/sr:service-rule/sr:id";
- }
- description
- "Link to service rule";
- }
- leaf enabled {
- type boolean;
- default true;
- description
- "Enable or disable this service to use this rule";
- }
- description "The list for rules";
- }
-
- leaf description {
- type string {
- length 1..100;
- }
- description "description of this profile";
- }
- }
- }
-}
diff --git a/config-models/aether-2.2.x/files/yang/service-rule.yang b/config-models/aether-2.2.x/files/yang/service-rule.yang
deleted file mode 100755
index 2007f96..0000000
--- a/config-models/aether-2.2.x/files/yang/service-rule.yang
+++ /dev/null
@@ -1,174 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module service-rule {
- namespace "http://opennetworking.org/aether/service-rule";
- prefix sr;
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2021-03-04" {
- description "An Aether Service Rule";
- reference "RFC 6087";
- }
-
- typedef service-rule-id {
- type string {
- length 1..32;
- }
- description "The typedef for service-rule-id";
- }
-
- container service-rule {
- description "The top level container";
-
- list service-rule {
- key "id";
- description
- "List of service rules";
-
- leaf id {
- type service-rule-id;
- description "ID for this service.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf charging-rule-name {
- type string {
- length 1..80;
- }
- description "name of charging rule";
- }
-
- container qos {
- leaf qci {
- type uint32 {
- range 0..85;
- }
- default 9;
- description
- "QoS Class Identifier";
- }
-
- container arp {
- leaf priority {
- type uint32 {
- range 0..15;
- }
- default 0;
- description
- "Priority";
- }
- leaf preemption-capability {
- type boolean;
- default true;
- description
- "True if a bearer with lower priority should be dropped";
- }
- leaf preemption-vulnerability {
- type boolean;
- default true;
- description
- "This bearer may be dropped for a bearer with higher priority";
- }
- description "Evolved-ARP";
- }
-
- container maximum-requested-bandwidth {
- leaf uplink {
- type uint32 {
- range 0..4294967295;
- }
- units bps;
- default 0;
- description
- "Upstream maximum requested bandwidth";
- }
- leaf downlink {
- type uint32 {
- range 0..4294967295;
- }
- units bps;
- default 0;
- description
- "Downstream maximum requested bandwidth";
- }
- description "The container for maximum-requested-bandwidth";
- }
-
- container guaranteed-bitrate {
- leaf uplink {
- type uint32 {
- range 0..4294967295;
- }
- units bps;
- default 0;
- description
- "Upstream guaranteed bitrate";
- }
- leaf downlink {
- type uint32 {
- range 0..4294967295;
- }
- units bps;
- default 0;
- description
- "Downstream guaranteed bitrate";
- }
- description "The container for guaranteed-bitrate";
- }
-
- container aggregate-maximum-bitrate {
- leaf uplink {
- type uint32 {
- range 0..4294967295;
- }
- units bps;
- default 0;
- description
- "Upstream aggregate maximum bitrate";
- }
- leaf downlink {
- type uint32 {
- range 0..4294967295;
- }
- units bps;
- default 0;
- description
- "Downstream aggregate maximum bitrate";
- }
- description "The container for aggregate-maximum-bitrate";
- }
- description "The container for qos";
- }
-
- container flow {
- leaf specification {
- type string {
- length 1..1024;
- }
- description "specification of this flow";
- }
- description "The container for flow";
- }
-
- leaf description {
- type string {
- length 1..100;
- }
- description "description of this rule";
- }
- }
- }
-}
diff --git a/config-models/aether-2.2.x/files/yang/up-profile.yang b/config-models/aether-2.2.x/files/yang/up-profile.yang
deleted file mode 100755
index 723758f..0000000
--- a/config-models/aether-2.2.x/files/yang/up-profile.yang
+++ /dev/null
@@ -1,72 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module up-profile {
- namespace "http://opennetworking.org/aether/user-plane-profile";
- prefix pro;
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "To generate JSON from this use command
- pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
- Copied from YangUIComponents project";
-
- revision "2020-10-22" {
- description "An Aether user plane Profile";
- reference "RFC 6087";
- }
-
- // TODO: Think more on whether this should be a UUID or
- // simply a unique name. If it's a UUID, could fix the
- // string length.
- typedef up-profile-id {
- type string {
- length 1..32;
- }
- description "The typedef for up-profile-id";
- }
-
- container up-profile {
- description "The top level container";
-
- list up-profile {
- key "id";
- description
- "List of user plane profiles";
-
- leaf id {
- type up-profile-id;
- description "ID for this user plane profile.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf user-plane {
- type string {
- length 1..255;
- }
- description "user plane name";
- }
-
- leaf access-control {
- type string {
- length 1..32;
- }
- description "access control policy";
- }
-
- leaf description {
- type string {
- length 1..100;
- }
- description "description of this profile";
- }
- }
- }
-}
diff --git a/config-models/aether-2.2.x/templates/_helpers.tpl b/config-models/aether-2.2.x/templates/_helpers.tpl
deleted file mode 100644
index bb84c33..0000000
--- a/config-models/aether-2.2.x/templates/_helpers.tpl
+++ /dev/null
@@ -1,52 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
-SPDX-License-Identifier: Apache-2.0
-
-Expand the name of the chart.
-*/}}
-{{- define "aether.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-If release name contains chart name it will be used as a full name.
-*/}}
-{{- define "aether.fullname" -}}
-{{- if contains "config-model-aether" .Release.Name -}}
-{{- printf "%s-%s" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- printf "%s-%s-config-model-aether" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "aether.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-
-{{/*
-Common labels
-*/}}
-{{- define "aether.labels" -}}
-helm.sh/chart: {{ include "aether.chart" . }}
-{{ include "aether.selectorLabels" . }}
-{{- if .Chart.AppVersion }}
-app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
-{{- end }}
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- end -}}
-
-{{/*
-Selector labels
-*/}}
-{{- define "aether.selectorLabels" -}}
-app.kubernetes.io/name: {{ include "aether.name" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end -}}
-}
diff --git a/config-models/aether-2.2.x/templates/model.yaml b/config-models/aether-2.2.x/templates/model.yaml
deleted file mode 100644
index 1dac8f7..0000000
--- a/config-models/aether-2.2.x/templates/model.yaml
+++ /dev/null
@@ -1,65 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: config.onosproject.org/v1beta1
-kind: Model
-metadata:
- name: {{ template "aether.fullname" . }}
- namespace: {{ .Release.Namespace }}
- labels:
- {{- include "aether.labels" . | nindent 4 }}
-spec:
- plugin:
- type: Aether
- version: {{ .Chart.AppVersion | quote }}
- modules:
- - name: aether-subscriber
- organization: Open Networking Foundation
- revision: 2020-10-22
- file: aether-subscriber.yang
- - name: apn-profile
- organization: Open Networking Foundation
- revision: 2021-03-04
- file: apn-profile.yang
- - name: up-profile
- organization: Open Networking Foundation
- revision: 2020-10-22
- file: up-profile.yang
- - name: qos-profile
- organization: Open Networking Foundation
- revision: 2020-10-22
- file: qos-profile.yang
- - name: access-profile
- organization: Open Networking Foundation
- revision: 2020-10-22
- file: access-profile.yang
- - name: enterprise
- organization: Open Networking Foundation
- revision: 2020-11-30
- file: enterprise.yang
- - name: connectivity-service
- organization: Open Networking Foundation
- revision: 2021-03-18
- file: connectivity-service.yang
- - name: security-profile
- organization: Open Networking Foundation
- revision: 2021-05-10
- file: security-profile.yang
- - name: service-group
- organization: Open Networking Foundation
- revision: 2021-03-04
- file: service-group.yang
- - name: service-policy
- organization: Open Networking Foundation
- revision: 2021-03-04
- file: service-policy.yang
- - name: service-rule
- organization: Open Networking Foundation
- revision: 2021-03-04
- file: service-rule.yang
- files:
- {{- range $path, $_ := $.Files.Glob "files/yang/*.yang" }}
- {{ base $path }}: |
-{{ $.Files.Get $path | indent 6 }}
- {{- end }}
diff --git a/config-models/aether-2.2.x/values.yaml b/config-models/aether-2.2.x/values.yaml
deleted file mode 100644
index aec2bd5..0000000
--- a/config-models/aether-2.2.x/values.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-# SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
diff --git a/config-models/aether-3.x/Chart.yaml b/config-models/aether-3.x/Chart.yaml
deleted file mode 100644
index e5e434c..0000000
--- a/config-models/aether-3.x/Chart.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: v2
-name: config-model-aether-3
-version: 3.0.16
-kubeVersion: ">=1.18.0"
-appVersion: 3.0.0
-description: Aether config model
-keywords:
- - onos
- - sdn
- - config
-home: https://onosproject.org
-maintainers:
- - name: ONOS Support
- email: support@opennetworking.org
diff --git a/config-models/aether-3.x/files/aether-3.0.0.tree b/config-models/aether-3.x/files/aether-3.0.0.tree
deleted file mode 100644
index f23f176..0000000
--- a/config-models/aether-3.x/files/aether-3.0.0.tree
+++ /dev/null
@@ -1,140 +0,0 @@
-module: ap-list
- +--rw ap-list
- +--rw ap-list* [id]
- +--rw id ap-list-id
- +--rw access-points* [address]
- | +--rw address inet:host
- | +--rw tac at:tac
- | +--rw enable? boolean
- +--rw display-name? string
- +--rw description? at:description
- +--rw enterprise -> /ent:enterprise/enterprise/id
-
-module: application
- +--rw application
- +--rw application* [id]
- +--rw id application-id
- +--rw display-name? string
- +--rw description? at:description
- +--rw endpoint* [name]
- | +--rw name string
- | +--rw address ietf:host
- | +--rw port-start ietf:port-number
- | +--rw port-end? ietf:port-number
- | +--rw protocol? at:protocol
- +--rw enterprise -> /ent:enterprise/enterprise/id
-
-module: connectivity-service
- +--rw connectivity-service
- +--rw connectivity-service* [id]
- +--rw id connectivity-service-id
- +--rw display-name? string
- +--rw description? at:description
- +--rw spgwc-endpoint? inet:uri
- +--rw hss-endpoint? inet:uri
- +--rw pcrf-endpoint? inet:uri
- +--rw core-5g-endpoint? inet:uri
-
-module: device-group
- +--rw device-group
- +--rw device-group* [id]
- +--rw id device-group-id
- +--rw description? at:description
- +--rw display-name? string
- +--rw imsis* [name]
- | +--rw name string
- | +--rw imsi-range-from? uint64
- | +--rw imsi-range-to? uint64
- +--rw ip-domain? -> /ipd:ip-domain/ip-domain/id
- +--rw site -> /st:site/site/id
-
-module: enterprise
- +--rw enterprise
- +--rw enterprise* [id]
- +--rw id enterprise-id
- +--rw display-name? string
- +--rw description? at:description
- +--rw connectivity-service* [connectivity-service]
- +--rw connectivity-service -> /cs:connectivity-service/connectivity-service/id
- +--rw enabled? boolean
-
-module: ip-domain
- +--rw ip-domain
- +--rw ip-domain* [id]
- +--rw id ip-domain-id
- +--rw display-name? string
- +--rw dnn? at:dnn
- +--rw dns-primary? inet:ip-address
- +--rw dns-secondary? inet:ip-address
- +--rw subnet inet:ipv4-prefix
- +--rw admin-status? at:admin-status
- +--rw mtu? at:mtu
- +--rw description? at:description
- +--rw enterprise -> /ent:enterprise/enterprise/id
-
-module: site
- +--rw site
- +--rw site* [id]
- +--rw id site-id
- +--rw display-name? string
- +--rw enterprise -> /ent:enterprise/enterprise/id
- +--rw imsi-definition
- | +--rw mcc at:mcc
- | +--rw mnc at:mnc
- | +--rw enterprise at:ent
- | +--rw format string
- +--rw description? at:description
-
-module: template
- +--rw template
- +--rw template* [id]
- +--rw id template-id
- +--rw display-name? string
- +--rw sst? at:sst
- +--rw sd? at:sd
- +--rw uplink? uint32
- +--rw downlink? uint32
- +--rw traffic-class? -> /tc:traffic-class/traffic-class/id
- +--rw description? at:description
-
-module: traffic-class
- +--rw traffic-class
- +--rw traffic-class* [id]
- +--rw id traffic-class-id
- +--rw display-name? string
- +--rw pelr? at:pelr
- +--rw pdb? at:pdb
- +--rw qci? at:qci
- +--rw description? at:description
-
-module: upf
- +--rw upf
- +--rw upf* [id]
- +--rw id upf-id
- +--rw address inet:host
- +--rw port inet:port-number
- +--rw display-name? string
- +--rw description? at:description
- +--rw enterprise -> /ent:enterprise/enterprise/id
-
-module: vcs
- +--rw vcs
- +--rw vcs* [id]
- +--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 application* [application]
- | +--rw application -> /app:application/application/id
- | +--rw allow? boolean
- +--rw upf? -> /upf:upf/upf/id
- +--rw ap? -> /apl:ap-list/ap-list/id
- +--rw description? at:description
- +--rw enterprise -> /ent:enterprise/enterprise/id
- +--rw sst at:sst
- +--rw sd at:sd
- +--rw uplink? uint32
- +--rw downlink? uint32
- +--rw traffic-class -> /tc:traffic-class/traffic-class/id
diff --git a/config-models/aether-3.x/files/yang/aether-types.yang b/config-models/aether-3.x/files/yang/aether-types.yang
deleted file mode 100755
index 86ef630..0000000
--- a/config-models/aether-3.x/files/yang/aether-types.yang
+++ /dev/null
@@ -1,123 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module aether-types {
- namespace "http://opennetworking.org/aether/aether-types";
- prefix at;
-
- import ietf-inet-types { prefix inet; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "A set of base types for aether modeling.";
-
- revision "2021-06-02" {
- description "Aether Base Types";
- reference "RFC 6087";
- }
-
- typedef mcc {
- type string {
- pattern '[0-9]{3}';
- }
- description "The typedef for mcc";
- }
-
- typedef mnc {
- type string {
- pattern '[0-9]{2,3}';
- }
- description "The typedef for mnc";
- }
-
- typedef tac {
- type string {
- length 4..8;
- pattern '[0-9A-F\.]*';
- }
- description "The typedef for tac";
- }
-
- typedef ent {
- type uint32 {
- range 0..999;
- }
- description "The typedef for ent";
- }
-
- typedef dnn {
- type string {
- length 1..32;
- }
- description "The typedef for dnn";
- }
-
- typedef sst {
- type uint8 {
- range 1..255;
- }
- description "The typedef for sst";
- }
-
- typedef sd {
- type uint32 {
- range 0..16777215;
- }
- description "The typedef for sd";
- }
-
- typedef qci {
- type uint8 {
- range 1..32;
- }
- description "The typedef for qci";
- }
-
- typedef pelr {
- type int8 {
- range 0..10;
- }
- description "The typedef for pelr";
- }
-
- typedef pdb {
- type uint16 {
- range 0..1000;
- }
- description "The typedef for pdb";
- }
-
- // "TCP" or "UDP"
- typedef protocol {
- type string {
- length 3;
- pattern "TCP|UDP";
- }
- default "TCP";
- description "The typedef for protocol";
- }
-
- // "ENABLE" | "MAINTENTANCE" | "DISABLE"
- typedef admin-status {
- type string {
- length 0..16;
- pattern "ENABLE|MAINTENANCE|DISABLE";
- }
- default "ENABLE";
- description "The typedef for admin-status";
- }
-
- typedef mtu {
- type inet:port-number;
- default 1492;
- description "The typedef for mtu";
- }
-
- typedef description {
- type string {
- length 1..1024;
- }
- description "The typedef for description";
- }
-}
diff --git a/config-models/aether-3.x/files/yang/ap-list.yang b/config-models/aether-3.x/files/yang/ap-list.yang
deleted file mode 100755
index 49fc76a..0000000
--- a/config-models/aether-3.x/files/yang/ap-list.yang
+++ /dev/null
@@ -1,92 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module ap-list {
- namespace "http://opennetworking.org/aether/ap-list";
- prefix apl;
-
- import ietf-inet-types { prefix inet; }
- import aether-types { prefix at; }
- import enterprise{ prefix ent; }
- import ietf-yang-types{ prefix yg; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "An Aether AP List is a named list of access points.";
-
- revision "2021-06-02" {
- description "An Aether Access Point List";
- reference "RFC 6087";
- }
-
- typedef ap-list-id {
- type yg:yang-identifier {
- length 1..32;
- }
- description "The typedef ap-list-id";
- }
-
- container ap-list {
- description "The top level container";
-
- list ap-list {
- key "id";
- description
- "A list of named ap-lists.";
-
- leaf id {
- type ap-list-id;
- description "ID for this ap-list.";
- }
-
- list access-points {
- key "address";
- leaf address {
- type inet:host;
- description
- "Address of access point";
- }
- leaf tac {
- type at:tac;
- mandatory true;
- description
- "Type Allocation Code";
- }
- leaf enable {
- type boolean;
- default true;
- description
- "Enable this access point";
- }
- description
- "List of access point addresses";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf description {
- type at:description;
- description "description of this ap-list";
- }
-
- // Access point lists are always owned by an Enterprise, since they typically exist on the
- // Enterprise's edge. An ApList is not owned by Site, to cover the case where a ApList may
- // include access points that span multiple sites.
- leaf enterprise {
- type leafref {
- path "/ent:enterprise/ent:enterprise/ent:id";
- }
- mandatory true;
- description
- "Link to enterprise that owns this Access Point List";
- }
- }
- }
-}
diff --git a/config-models/aether-3.x/files/yang/application.yang b/config-models/aether-3.x/files/yang/application.yang
deleted file mode 100755
index d62c957..0000000
--- a/config-models/aether-3.x/files/yang/application.yang
+++ /dev/null
@@ -1,101 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module application {
- namespace "http://opennetworking.org/enterprise/application";
- prefix app;
-
- import ietf-inet-types{ prefix ietf; }
- import aether-types{ prefix at; }
- import enterprise{ prefix ent; }
- import ietf-yang-types{ prefix yg; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "An Aether Application is an application that UE devices may
- connect to. Includes a set of endpoints where services are
- provided.";
-
- revision "2021-06-02" {
- description "Aether Application.";
- reference "RFC 6087";
- }
-
- typedef application-id {
- type yg:yang-identifier {
- length 1..32;
- }
- description "The typedef for application-id";
- }
-
- container application {
- description "The top level container";
-
- list application {
- key "id";
- description
- "List of applications";
-
- leaf id {
- type application-id;
- description "ID for this application.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf description {
- type at:description;
- description "description of this application";
- }
-
- list endpoint {
- key "name";
- max-elements 1;
- leaf name {
- type string;
- description
- "Name of this endpoint";
- }
- leaf address {
- type ietf:host;
- mandatory true;
- description
- "Address of this endpoint. Either a hostname, and IP, or a subnet.";
- }
- leaf port-start {
- type ietf:port-number;
- mandatory true;
- description
- "First port in range";
- }
- leaf port-end {
- type ietf:port-number;
- description
- "Last port in range";
- }
- leaf protocol {
- type at:protocol;
- description
- "Name of this endpoint";
- }
- description "The list for endpoints";
- }
-
- leaf enterprise {
- type leafref {
- path "/ent:enterprise/ent:enterprise/ent:id";
- }
- mandatory true;
- description
- "Link to enterprise that owns this Application. May be set to None if the application is global to all Enterprises.";
- }
- }
- }
-}
diff --git a/config-models/aether-3.x/files/yang/connectivity-service.yang b/config-models/aether-3.x/files/yang/connectivity-service.yang
deleted file mode 100755
index 0d6e929..0000000
--- a/config-models/aether-3.x/files/yang/connectivity-service.yang
+++ /dev/null
@@ -1,77 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module connectivity-service {
- namespace "http://opennetworking.org/aether/connectivity-service";
- prefix cs;
-
- import aether-types { prefix at; }
- import ietf-inet-types { prefix inet; }
- import ietf-yang-types{ prefix yg; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "An Aether Connectivity service is the linkage between the
- ROC and a core that provides connectivity.";
-
- revision "2021-06-02" {
- description "An Aether Connectivity Service. Specifies the endpoints where the sdcore-adapter should push configuration to. A single connectivity service may be attached to multiple Enterprises.";
- reference "RFC 6087";
- }
-
- typedef connectivity-service-id {
- type yg:yang-identifier {
- length 1..32;
- }
- description "The typedef for connectivity-service-id";
- }
-
- container connectivity-service {
- description "The top level container";
-
- list connectivity-service {
- key "id";
- description
- "List of connectivity services";
-
- leaf id {
- type connectivity-service-id;
- description "ID for this connectivity service.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf description {
- type at:description;
- description "description of this connectivity service";
- }
-
- leaf spgwc-endpoint {
- type inet:uri;
- description "url of the spgwc service";
- }
-
- leaf hss-endpoint {
- type inet:uri;
- description "url of the hss service";
- }
-
- leaf pcrf-endpoint {
- type inet:uri;
- description "url of the pcrf service";
- }
-
- leaf core-5g-endpoint {
- type inet:uri;
- description "url of the 5g core";
- }
- }
- }
-}
diff --git a/config-models/aether-3.x/files/yang/device-group.yang b/config-models/aether-3.x/files/yang/device-group.yang
deleted file mode 100755
index d6ae9a5..0000000
--- a/config-models/aether-3.x/files/yang/device-group.yang
+++ /dev/null
@@ -1,103 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module device-group {
- namespace "http://opennetworking.org/aether/device-group";
- prefix dg;
-
- import aether-types { prefix at; }
- import ip-domain{ prefix ipd; }
- import site{ prefix st; }
- import ietf-yang-types{ prefix yg; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "An aether device group represents a list of device IMSIS.
- This list is expressed as a set of ranges,
- [(from_imsi, to_imsi),
- (from_imsi, to_imsi),
- ...].
- Each device group belongs to a site and has associated
- with it an ip-profile that determines the IP address
- and DNS settings that apply to devices within the
- group";
-
- revision "2021-06-02" {
- description "An Aether Device Group";
- reference "RFC 6087";
- }
-
- typedef device-group-id {
- type yg:yang-identifier {
- length 1..32;
- }
- description "The typedef for device-group-id";
- }
-
- container device-group {
- description "The top level container";
-
- list device-group {
- key "id";
- description
- "List of device groups";
-
- leaf id {
- type device-group-id;
- description "ID for this device group.";
- }
-
- leaf description {
- type at:description;
- description "description of this device group";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- list imsis {
- // TODO: imsi-range-from cannot be used as a list index
- key "name";
- leaf name {
- type string;
- description "The leaf for imsi name";
- }
- leaf imsi-range-from {
- type uint64;
- description "The leaf for imsi-range-from";
- }
- leaf imsi-range-to {
- type uint64;
- description "The leaf for imsi-range-to";
- }
- description
- "List of imsi ranges that comprise this group. It's acceptable for
- a range to degenerate to being a singleton";
- }
-
- leaf ip-domain {
- type leafref {
- path "/ipd:ip-domain/ipd:ip-domain/ipd:id";
- }
- description
- "Link to ip-domain settings that determine the pool of IP addresses,
- as well as the domain resolver settings to use";
- }
-
- leaf site {
- type leafref {
- path "/st:site/st:site/st:id";
- }
- mandatory true;
- description
- "Link to site";
- }
- }
- }
-}
diff --git a/config-models/aether-3.x/files/yang/enterprise.yang b/config-models/aether-3.x/files/yang/enterprise.yang
deleted file mode 100755
index 160e691..0000000
--- a/config-models/aether-3.x/files/yang/enterprise.yang
+++ /dev/null
@@ -1,75 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module enterprise {
- namespace "http://opennetworking.org/aether/enterprise";
- prefix ent;
-
- import aether-types { prefix at; }
- import connectivity-service { prefix cs; }
- import ietf-yang-types{ prefix yg; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "An Aether Enterprise is an administration entity that
- has ownership of resrouces.";
-
- revision "2021-06-02" {
- description "An Aether Enterprise. Used to distinguish ownership of devices and other resources as well as a domain of configuration.";
- reference "RFC 6087";
- }
-
- typedef enterprise-id {
- type yg:yang-identifier {
- length 1..32;
- }
- description "The typedef for enterprise-id";
- }
-
- container enterprise {
- description "The top level container";
-
- list enterprise {
- key "id";
- description
- "List of enterprises";
-
- leaf id {
- type enterprise-id;
- description "ID for this enterprise.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf description {
- type at:description;
- description "description of this enterprise";
- }
-
- list connectivity-service {
- key "connectivity-service";
- leaf connectivity-service {
- type leafref {
- path "/cs:connectivity-service/cs:connectivity-service/cs:id";
- }
- description
- "Link to connectivity services where configuration should be pushed for this enterprise's devices";
- }
- leaf enabled {
- type boolean;
- default true;
- description
- "Allow or disallow pushes to this connectivity service";
- }
- description "The list for connectivity-service";
- }
- }
- }
-}
diff --git a/config-models/aether-3.x/files/yang/ietf-inet-types.yang b/config-models/aether-3.x/files/yang/ietf-inet-types.yang
deleted file mode 100644
index fa57f75..0000000
--- a/config-models/aether-3.x/files/yang/ietf-inet-types.yang
+++ /dev/null
@@ -1,458 +0,0 @@
-module ietf-inet-types {
-
- namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types";
- prefix "inet";
-
- organization
- "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
- contact
- "WG Web: <http://tools.ietf.org/wg/netmod/>
- WG List: <mailto:netmod@ietf.org>
-
- WG Chair: David Kessens
- <mailto:david.kessens@nsn.com>
-
- WG Chair: Juergen Schoenwaelder
- <mailto:j.schoenwaelder@jacobs-university.de>
-
- Editor: Juergen Schoenwaelder
- <mailto:j.schoenwaelder@jacobs-university.de>";
-
- description
- "This module contains a collection of generally useful derived
- YANG data types for Internet addresses and related things.
-
- Copyright (c) 2013 IETF Trust and the persons identified as
- authors of the code. All rights reserved.
-
- Redistribution and use in source and binary forms, with or
- without modification, is permitted pursuant to, and subject
- to the license terms contained in, the Simplified BSD License
- set forth in Section 4.c of the IETF Trust's Legal Provisions
- Relating to IETF Documents
- (http://trustee.ietf.org/license-info).
-
- This version of this YANG module is part of RFC 6991; see
- the RFC itself for full legal notices.";
-
- revision 2013-07-15 {
- description
- "This revision adds the following new data types:
- - ip-address-no-zone
- - ipv4-address-no-zone
- - ipv6-address-no-zone";
- reference
- "RFC 6991: Common YANG Data Types";
- }
-
- revision 2010-09-24 {
- description
- "Initial revision.";
- reference
- "RFC 6021: Common YANG Data Types";
- }
-
- /*** collection of types related to protocol fields ***/
-
- typedef ip-version {
- type enumeration {
- enum unknown {
- value "0";
- description
- "An unknown or unspecified version of the Internet
- protocol.";
- }
- enum ipv4 {
- value "1";
- description
- "The IPv4 protocol as defined in RFC 791.";
- }
- enum ipv6 {
- value "2";
- description
- "The IPv6 protocol as defined in RFC 2460.";
- }
- }
- description
- "This value represents the version of the IP protocol.
-
- In the value set and its semantics, this type is equivalent
- to the InetVersion textual convention of the SMIv2.";
- reference
- "RFC 791: Internet Protocol
- RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
- RFC 4001: Textual Conventions for Internet Network Addresses";
- }
-
- typedef dscp {
- type uint8 {
- range "0..63";
- }
- description
- "The dscp type represents a Differentiated Services Code Point
- that may be used for marking packets in a traffic stream.
- In the value set and its semantics, this type is equivalent
- to the Dscp textual convention of the SMIv2.";
- reference
- "RFC 3289: Management Information Base for the Differentiated
- Services Architecture
- RFC 2474: Definition of the Differentiated Services Field
- (DS Field) in the IPv4 and IPv6 Headers
- RFC 2780: IANA Allocation Guidelines For Values In
- the Internet Protocol and Related Headers";
- }
-
- typedef ipv6-flow-label {
- type uint32 {
- range "0..1048575";
- }
- description
- "The ipv6-flow-label type represents the flow identifier or Flow
- Label in an IPv6 packet header that may be used to
- discriminate traffic flows.
-
- In the value set and its semantics, this type is equivalent
- to the IPv6FlowLabel textual convention of the SMIv2.";
- reference
- "RFC 3595: Textual Conventions for IPv6 Flow Label
- RFC 2460: Internet Protocol, Version 6 (IPv6) Specification";
- }
-
- typedef port-number {
- type uint16 {
- range "0..65535";
- }
- description
- "The port-number type represents a 16-bit port number of an
- Internet transport-layer protocol such as UDP, TCP, DCCP, or
- SCTP. Port numbers are assigned by IANA. A current list of
- all assignments is available from <http://www.iana.org/>.
-
- Note that the port number value zero is reserved by IANA. In
- situations where the value zero does not make sense, it can
- be excluded by subtyping the port-number type.
- In the value set and its semantics, this type is equivalent
- to the InetPortNumber textual convention of the SMIv2.";
- reference
- "RFC 768: User Datagram Protocol
- RFC 793: Transmission Control Protocol
- RFC 4960: Stream Control Transmission Protocol
- RFC 4340: Datagram Congestion Control Protocol (DCCP)
- RFC 4001: Textual Conventions for Internet Network Addresses";
- }
-
- /*** collection of types related to autonomous systems ***/
-
- typedef as-number {
- type uint32;
- description
- "The as-number type represents autonomous system numbers
- which identify an Autonomous System (AS). An AS is a set
- of routers under a single technical administration, using
- an interior gateway protocol and common metrics to route
- packets within the AS, and using an exterior gateway
- protocol to route packets to other ASes. IANA maintains
- the AS number space and has delegated large parts to the
- regional registries.
-
- Autonomous system numbers were originally limited to 16
- bits. BGP extensions have enlarged the autonomous system
- number space to 32 bits. This type therefore uses an uint32
- base type without a range restriction in order to support
- a larger autonomous system number space.
-
- In the value set and its semantics, this type is equivalent
- to the InetAutonomousSystemNumber textual convention of
- the SMIv2.";
- reference
- "RFC 1930: Guidelines for creation, selection, and registration
- of an Autonomous System (AS)
- RFC 4271: A Border Gateway Protocol 4 (BGP-4)
- RFC 4001: Textual Conventions for Internet Network Addresses
- RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
- Number Space";
- }
-
- /*** collection of types related to IP addresses and hostnames ***/
-
- typedef ip-address {
- type union {
- type inet:ipv4-address;
- type inet:ipv6-address;
- }
- description
- "The ip-address type represents an IP address and is IP
- version neutral. The format of the textual representation
- implies the IP version. This type supports scoped addresses
- by allowing zone identifiers in the address format.";
- reference
- "RFC 4007: IPv6 Scoped Address Architecture";
- }
-
- typedef ipv4-address {
- type string {
- pattern
- '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
- + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
- + '(%[\p{N}\p{L}]+)?';
- }
- description
- "The ipv4-address type represents an IPv4 address in
- dotted-quad notation. The IPv4 address may include a zone
- index, separated by a % sign.
-
- The zone index is used to disambiguate identical address
- values. For link-local addresses, the zone index will
- typically be the interface index number or the name of an
- interface. If the zone index is not present, the default
- zone of the device will be used.
-
- The canonical format for the zone index is the numerical
- format";
- }
-
- typedef ipv6-address {
- type string {
- pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
- + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
- + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
- + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
- + '(%[\p{N}\p{L}]+)?';
- pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
- + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
- + '(%.+)?';
- }
- description
- "The ipv6-address type represents an IPv6 address in full,
- mixed, shortened, and shortened-mixed notation. The IPv6
- address may include a zone index, separated by a % sign.
-
- The zone index is used to disambiguate identical address
- values. For link-local addresses, the zone index will
- typically be the interface index number or the name of an
- interface. If the zone index is not present, the default
- zone of the device will be used.
-
- The canonical format of IPv6 addresses uses the textual
- representation defined in Section 4 of RFC 5952. The
- canonical format for the zone index is the numerical
- format as described in Section 11.2 of RFC 4007.";
- reference
- "RFC 4291: IP Version 6 Addressing Architecture
- RFC 4007: IPv6 Scoped Address Architecture
- RFC 5952: A Recommendation for IPv6 Address Text
- Representation";
- }
-
- typedef ip-address-no-zone {
- type union {
- type inet:ipv4-address-no-zone;
- type inet:ipv6-address-no-zone;
- }
- description
- "The ip-address-no-zone type represents an IP address and is
- IP version neutral. The format of the textual representation
- implies the IP version. This type does not support scoped
- addresses since it does not allow zone identifiers in the
- address format.";
- reference
- "RFC 4007: IPv6 Scoped Address Architecture";
- }
-
- typedef ipv4-address-no-zone {
- type inet:ipv4-address {
- pattern '[0-9\.]*';
- }
- description
- "An IPv4 address without a zone index. This type, derived from
- ipv4-address, may be used in situations where the zone is
- known from the context and hence no zone index is needed.";
- }
-
- typedef ipv6-address-no-zone {
- type inet:ipv6-address {
- pattern '[0-9a-fA-F:\.]*';
- }
- description
- "An IPv6 address without a zone index. This type, derived from
- ipv6-address, may be used in situations where the zone is
- known from the context and hence no zone index is needed.";
- reference
- "RFC 4291: IP Version 6 Addressing Architecture
- RFC 4007: IPv6 Scoped Address Architecture
- RFC 5952: A Recommendation for IPv6 Address Text
- Representation";
- }
-
- typedef ip-prefix {
- type union {
- type inet:ipv4-prefix;
- type inet:ipv6-prefix;
- }
- description
- "The ip-prefix type represents an IP prefix and is IP
- version neutral. The format of the textual representations
- implies the IP version.";
- }
-
- typedef ipv4-prefix {
- type string {
- pattern
- '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
- + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
- + '/(([0-9])|([1-2][0-9])|(3[0-2]))';
- }
- description
- "The ipv4-prefix type represents an IPv4 address prefix.
- The prefix length is given by the number following the
- slash character and must be less than or equal to 32.
-
- A prefix length value of n corresponds to an IP address
- mask that has n contiguous 1-bits from the most
- significant bit (MSB) and all other bits set to 0.
-
- The canonical format of an IPv4 prefix has all bits of
- the IPv4 address set to zero that are not part of the
- IPv4 prefix.";
- }
-
- typedef ipv6-prefix {
- type string {
- pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
- + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
- + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
- + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
- + '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))';
- pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
- + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
- + '(/.+)';
- }
-
- description
- "The ipv6-prefix type represents an IPv6 address prefix.
- The prefix length is given by the number following the
- slash character and must be less than or equal to 128.
-
- A prefix length value of n corresponds to an IP address
- mask that has n contiguous 1-bits from the most
- significant bit (MSB) and all other bits set to 0.
-
- The IPv6 address should have all bits that do not belong
- to the prefix set to zero.
-
- The canonical format of an IPv6 prefix has all bits of
- the IPv6 address set to zero that are not part of the
- IPv6 prefix. Furthermore, the IPv6 address is represented
- as defined in Section 4 of RFC 5952.";
- reference
- "RFC 5952: A Recommendation for IPv6 Address Text
- Representation";
- }
-
- /*** collection of domain name and URI types ***/
-
- typedef domain-name {
- type string {
- length "1..253";
- pattern
- '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
- + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
- + '|\.';
- }
- description
- "The domain-name type represents a DNS domain name. The
- name SHOULD be fully qualified whenever possible.
-
- Internet domain names are only loosely specified. Section
- 3.5 of RFC 1034 recommends a syntax (modified in Section
- 2.1 of RFC 1123). The pattern above is intended to allow
- for current practice in domain name use, and some possible
- future expansion. It is designed to hold various types of
- domain names, including names used for A or AAAA records
- (host names) and other records, such as SRV records. Note
- that Internet host names have a stricter syntax (described
- in RFC 952) than the DNS recommendations in RFCs 1034 and
- 1123, and that systems that want to store host names in
- schema nodes using the domain-name type are recommended to
- adhere to this stricter standard to ensure interoperability.
-
- The encoding of DNS names in the DNS protocol is limited
- to 255 characters. Since the encoding consists of labels
- prefixed by a length bytes and there is a trailing NULL
- byte, only 253 characters can appear in the textual dotted
- notation.
-
- The description clause of schema nodes using the domain-name
- type MUST describe when and how these names are resolved to
- IP addresses. Note that the resolution of a domain-name value
- may require to query multiple DNS records (e.g., A for IPv4
- and AAAA for IPv6). The order of the resolution process and
- which DNS record takes precedence can either be defined
- explicitly or may depend on the configuration of the
- resolver.
-
- Domain-name values use the US-ASCII encoding. Their canonical
- format uses lowercase US-ASCII characters. Internationalized
- domain names MUST be A-labels as per RFC 5890.";
- reference
- "RFC 952: DoD Internet Host Table Specification
- RFC 1034: Domain Names - Concepts and Facilities
- RFC 1123: Requirements for Internet Hosts -- Application
- and Support
- RFC 2782: A DNS RR for specifying the location of services
- (DNS SRV)
- RFC 5890: Internationalized Domain Names in Applications
- (IDNA): Definitions and Document Framework";
- }
-
- typedef host {
- type union {
- type inet:ip-address;
- type inet:domain-name;
- }
- description
- "The host type represents either an IP address or a DNS
- domain name.";
- }
-
- typedef uri {
- type string;
- description
- "The uri type represents a Uniform Resource Identifier
- (URI) as defined by STD 66.
-
- Objects using the uri type MUST be in US-ASCII encoding,
- and MUST be normalized as described by RFC 3986 Sections
- 6.2.1, 6.2.2.1, and 6.2.2.2. All unnecessary
- percent-encoding is removed, and all case-insensitive
- characters are set to lowercase except for hexadecimal
- digits, which are normalized to uppercase as described in
- Section 6.2.2.1.
-
- The purpose of this normalization is to help provide
- unique URIs. Note that this normalization is not
- sufficient to provide uniqueness. Two URIs that are
- textually distinct after this normalization may still be
- equivalent.
-
- Objects using the uri type may restrict the schemes that
- they permit. For example, 'data:' and 'urn:' schemes
- might not be appropriate.
-
- A zero-length URI is not a valid URI. This can be used to
- express 'URI absent' where required.
-
- In the value set and its semantics, this type is equivalent
- to the Uri SMIv2 textual convention defined in RFC 5017.";
- reference
- "RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
- RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
- Group: Uniform Resource Identifiers (URIs), URLs,
- and Uniform Resource Names (URNs): Clarifications
- and Recommendations
- RFC 5017: MIB Textual Conventions for Uniform Resource
- Identifiers (URIs)";
- }
-
-}
diff --git a/config-models/aether-3.x/files/yang/ietf-yang-types.yang b/config-models/aether-3.x/files/yang/ietf-yang-types.yang
deleted file mode 100644
index ee58fa3..0000000
--- a/config-models/aether-3.x/files/yang/ietf-yang-types.yang
+++ /dev/null
@@ -1,474 +0,0 @@
-module ietf-yang-types {
-
- namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
- prefix "yang";
-
- organization
- "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
- contact
- "WG Web: <http://tools.ietf.org/wg/netmod/>
- WG List: <mailto:netmod@ietf.org>
-
- WG Chair: David Kessens
- <mailto:david.kessens@nsn.com>
-
- WG Chair: Juergen Schoenwaelder
- <mailto:j.schoenwaelder@jacobs-university.de>
-
- Editor: Juergen Schoenwaelder
- <mailto:j.schoenwaelder@jacobs-university.de>";
-
- description
- "This module contains a collection of generally useful derived
- YANG data types.
-
- Copyright (c) 2013 IETF Trust and the persons identified as
- authors of the code. All rights reserved.
-
- Redistribution and use in source and binary forms, with or
- without modification, is permitted pursuant to, and subject
- to the license terms contained in, the Simplified BSD License
- set forth in Section 4.c of the IETF Trust's Legal Provisions
- Relating to IETF Documents
- (http://trustee.ietf.org/license-info).
-
- This version of this YANG module is part of RFC 6991; see
- the RFC itself for full legal notices.";
-
- revision 2013-07-15 {
- description
- "This revision adds the following new data types:
- - yang-identifier
- - hex-string
- - uuid
- - dotted-quad";
- reference
- "RFC 6991: Common YANG Data Types";
- }
-
- revision 2010-09-24 {
- description
- "Initial revision.";
- reference
- "RFC 6021: Common YANG Data Types";
- }
-
- /*** collection of counter and gauge types ***/
-
- typedef counter32 {
- type uint32;
- description
- "The counter32 type represents a non-negative integer
- that monotonically increases until it reaches a
- maximum value of 2^32-1 (4294967295 decimal), when it
- wraps around and starts increasing again from zero.
-
- Counters have no defined 'initial' value, and thus, a
- single value of a counter has (in general) no information
- content. Discontinuities in the monotonically increasing
- value normally occur at re-initialization of the
- management system, and at other times as specified in the
- description of a schema node using this type. If such
- other times can occur, for example, the creation of
- a schema node of type counter32 at times other than
- re-initialization, then a corresponding schema node
- should be defined, with an appropriate type, to indicate
- the last discontinuity.
-
- The counter32 type should not be used for configuration
- schema nodes. A default statement SHOULD NOT be used in
- combination with the type counter32.
-
- In the value set and its semantics, this type is equivalent
- to the Counter32 type of the SMIv2.";
- reference
- "RFC 2578: Structure of Management Information Version 2
- (SMIv2)";
- }
-
- typedef zero-based-counter32 {
- type yang:counter32;
- default "0";
- description
- "The zero-based-counter32 type represents a counter32
- that has the defined 'initial' value zero.
-
- A schema node of this type will be set to zero (0) on creation
- and will thereafter increase monotonically until it reaches
- a maximum value of 2^32-1 (4294967295 decimal), when it
- wraps around and starts increasing again from zero.
-
- Provided that an application discovers a new schema node
- of this type within the minimum time to wrap, it can use the
- 'initial' value as a delta. It is important for a management
- station to be aware of this minimum time and the actual time
- between polls, and to discard data if the actual time is too
- long or there is no defined minimum time.
-
- In the value set and its semantics, this type is equivalent
- to the ZeroBasedCounter32 textual convention of the SMIv2.";
- reference
- "RFC 4502: Remote Network Monitoring Management Information
- Base Version 2";
- }
-
- typedef counter64 {
- type uint64;
- description
- "The counter64 type represents a non-negative integer
- that monotonically increases until it reaches a
- maximum value of 2^64-1 (18446744073709551615 decimal),
- when it wraps around and starts increasing again from zero.
-
- Counters have no defined 'initial' value, and thus, a
- single value of a counter has (in general) no information
- content. Discontinuities in the monotonically increasing
- value normally occur at re-initialization of the
- management system, and at other times as specified in the
- description of a schema node using this type. If such
- other times can occur, for example, the creation of
- a schema node of type counter64 at times other than
- re-initialization, then a corresponding schema node
- should be defined, with an appropriate type, to indicate
- the last discontinuity.
-
- The counter64 type should not be used for configuration
- schema nodes. A default statement SHOULD NOT be used in
- combination with the type counter64.
-
- In the value set and its semantics, this type is equivalent
- to the Counter64 type of the SMIv2.";
- reference
- "RFC 2578: Structure of Management Information Version 2
- (SMIv2)";
- }
-
- typedef zero-based-counter64 {
- type yang:counter64;
- default "0";
- description
- "The zero-based-counter64 type represents a counter64 that
- has the defined 'initial' value zero.
-
- A schema node of this type will be set to zero (0) on creation
- and will thereafter increase monotonically until it reaches
- a maximum value of 2^64-1 (18446744073709551615 decimal),
- when it wraps around and starts increasing again from zero.
-
- Provided that an application discovers a new schema node
- of this type within the minimum time to wrap, it can use the
- 'initial' value as a delta. It is important for a management
- station to be aware of this minimum time and the actual time
- between polls, and to discard data if the actual time is too
- long or there is no defined minimum time.
-
- In the value set and its semantics, this type is equivalent
- to the ZeroBasedCounter64 textual convention of the SMIv2.";
- reference
- "RFC 2856: Textual Conventions for Additional High Capacity
- Data Types";
- }
-
- typedef gauge32 {
- type uint32;
- description
- "The gauge32 type represents a non-negative integer, which
- may increase or decrease, but shall never exceed a maximum
- value, nor fall below a minimum value. The maximum value
- cannot be greater than 2^32-1 (4294967295 decimal), and
- the minimum value cannot be smaller than 0. The value of
- a gauge32 has its maximum value whenever the information
- being modeled is greater than or equal to its maximum
- value, and has its minimum value whenever the information
- being modeled is smaller than or equal to its minimum value.
- If the information being modeled subsequently decreases
- below (increases above) the maximum (minimum) value, the
- gauge32 also decreases (increases).
-
- In the value set and its semantics, this type is equivalent
- to the Gauge32 type of the SMIv2.";
- reference
- "RFC 2578: Structure of Management Information Version 2
- (SMIv2)";
- }
-
- typedef gauge64 {
- type uint64;
- description
- "The gauge64 type represents a non-negative integer, which
- may increase or decrease, but shall never exceed a maximum
- value, nor fall below a minimum value. The maximum value
- cannot be greater than 2^64-1 (18446744073709551615), and
- the minimum value cannot be smaller than 0. The value of
- a gauge64 has its maximum value whenever the information
- being modeled is greater than or equal to its maximum
- value, and has its minimum value whenever the information
- being modeled is smaller than or equal to its minimum value.
- If the information being modeled subsequently decreases
- below (increases above) the maximum (minimum) value, the
- gauge64 also decreases (increases).
-
- In the value set and its semantics, this type is equivalent
- to the CounterBasedGauge64 SMIv2 textual convention defined
- in RFC 2856";
- reference
- "RFC 2856: Textual Conventions for Additional High Capacity
- Data Types";
- }
-
- /*** collection of identifier-related types ***/
-
- typedef object-identifier {
- type string {
- pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
- + '(\.(0|([1-9]\d*)))*';
- }
- description
- "The object-identifier type represents administratively
- assigned names in a registration-hierarchical-name tree.
-
- Values of this type are denoted as a sequence of numerical
- non-negative sub-identifier values. Each sub-identifier
- value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
- are separated by single dots and without any intermediate
- whitespace.
-
- The ASN.1 standard restricts the value space of the first
- sub-identifier to 0, 1, or 2. Furthermore, the value space
- of the second sub-identifier is restricted to the range
- 0 to 39 if the first sub-identifier is 0 or 1. Finally,
- the ASN.1 standard requires that an object identifier
- has always at least two sub-identifiers. The pattern
- captures these restrictions.
-
- Although the number of sub-identifiers is not limited,
- module designers should realize that there may be
- implementations that stick with the SMIv2 limit of 128
- sub-identifiers.
-
- This type is a superset of the SMIv2 OBJECT IDENTIFIER type
- since it is not restricted to 128 sub-identifiers. Hence,
- this type SHOULD NOT be used to represent the SMIv2 OBJECT
- IDENTIFIER type; the object-identifier-128 type SHOULD be
- used instead.";
- reference
- "ISO9834-1: Information technology -- Open Systems
- Interconnection -- Procedures for the operation of OSI
- Registration Authorities: General procedures and top
- arcs of the ASN.1 Object Identifier tree";
- }
-
- typedef object-identifier-128 {
- type object-identifier {
- pattern '\d*(\.\d*){1,127}';
- }
- description
- "This type represents object-identifiers restricted to 128
- sub-identifiers.
-
- In the value set and its semantics, this type is equivalent
- to the OBJECT IDENTIFIER type of the SMIv2.";
- reference
- "RFC 2578: Structure of Management Information Version 2
- (SMIv2)";
- }
-
- typedef yang-identifier {
- type string {
- length "1..max";
- pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
- pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
- }
- description
- "A YANG identifier string as defined by the 'identifier'
- rule in Section 12 of RFC 6020. An identifier must
- start with an alphabetic character or an underscore
- followed by an arbitrary sequence of alphabetic or
- numeric characters, underscores, hyphens, or dots.
-
- A YANG identifier MUST NOT start with any possible
- combination of the lowercase or uppercase character
- sequence 'xml'.";
- reference
- "RFC 6020: YANG - A Data Modeling Language for the Network
- Configuration Protocol (NETCONF)";
- }
-
- /*** collection of types related to date and time***/
-
- typedef date-and-time {
- type string {
- pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
- + '(Z|[\+\-]\d{2}:\d{2})';
- }
- description
- "The date-and-time type is a profile of the ISO 8601
- standard for representation of dates and times using the
- Gregorian calendar. The profile is defined by the
- date-time production in Section 5.6 of RFC 3339.
-
- The date-and-time type is compatible with the dateTime XML
- schema type with the following notable exceptions:
-
- (a) The date-and-time type does not allow negative years.
-
- (b) The date-and-time time-offset -00:00 indicates an unknown
- time zone (see RFC 3339) while -00:00 and +00:00 and Z
- all represent the same time zone in dateTime.
-
- (c) The canonical format (see below) of data-and-time values
- differs from the canonical format used by the dateTime XML
- schema type, which requires all times to be in UTC using
- the time-offset 'Z'.
-
- This type is not equivalent to the DateAndTime textual
- convention of the SMIv2 since RFC 3339 uses a different
- separator between full-date and full-time and provides
- higher resolution of time-secfrac.
-
- The canonical format for date-and-time values with a known time
- zone uses a numeric time zone offset that is calculated using
- the device's configured known offset to UTC time. A change of
- the device's offset to UTC time will cause date-and-time values
- to change accordingly. Such changes might happen periodically
- in case a server follows automatically daylight saving time
- (DST) time zone offset changes. The canonical format for
- date-and-time values with an unknown time zone (usually
- referring to the notion of local time) uses the time-offset
- -00:00.";
- reference
- "RFC 3339: Date and Time on the Internet: Timestamps
- RFC 2579: Textual Conventions for SMIv2
- XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
- }
-
- typedef timeticks {
- type uint32;
- description
- "The timeticks type represents a non-negative integer that
- represents the time, modulo 2^32 (4294967296 decimal), in
- hundredths of a second between two epochs. When a schema
- node is defined that uses this type, the description of
- the schema node identifies both of the reference epochs.
-
- In the value set and its semantics, this type is equivalent
- to the TimeTicks type of the SMIv2.";
- reference
- "RFC 2578: Structure of Management Information Version 2
- (SMIv2)";
- }
-
- typedef timestamp {
- type yang:timeticks;
- description
- "The timestamp type represents the value of an associated
- timeticks schema node at which a specific occurrence
- happened. The specific occurrence must be defined in the
- description of any schema node defined using this type. When
- the specific occurrence occurred prior to the last time the
- associated timeticks attribute was zero, then the timestamp
- value is zero. Note that this requires all timestamp values
- to be reset to zero when the value of the associated timeticks
- attribute reaches 497+ days and wraps around to zero.
-
- The associated timeticks schema node must be specified
- in the description of any schema node using this type.
-
- In the value set and its semantics, this type is equivalent
- to the TimeStamp textual convention of the SMIv2.";
- reference
- "RFC 2579: Textual Conventions for SMIv2";
- }
-
- /*** collection of generic address types ***/
-
- typedef phys-address {
- type string {
- pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
- }
-
- description
- "Represents media- or physical-level addresses represented
- as a sequence octets, each octet represented by two hexadecimal
- numbers. Octets are separated by colons. The canonical
- representation uses lowercase characters.
-
- In the value set and its semantics, this type is equivalent
- to the PhysAddress textual convention of the SMIv2.";
- reference
- "RFC 2579: Textual Conventions for SMIv2";
- }
-
- typedef mac-address {
- type string {
- pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
- }
- description
- "The mac-address type represents an IEEE 802 MAC address.
- The canonical representation uses lowercase characters.
-
- In the value set and its semantics, this type is equivalent
- to the MacAddress textual convention of the SMIv2.";
- reference
- "IEEE 802: IEEE Standard for Local and Metropolitan Area
- Networks: Overview and Architecture
- RFC 2579: Textual Conventions for SMIv2";
- }
-
- /*** collection of XML-specific types ***/
-
- typedef xpath1.0 {
- type string;
- description
- "This type represents an XPATH 1.0 expression.
-
- When a schema node is defined that uses this type, the
- description of the schema node MUST specify the XPath
- context in which the XPath expression is evaluated.";
- reference
- "XPATH: XML Path Language (XPath) Version 1.0";
- }
-
- /*** collection of string types ***/
-
- typedef hex-string {
- type string {
- pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
- }
- description
- "A hexadecimal string with octets represented as hex digits
- separated by colons. The canonical representation uses
- lowercase characters.";
- }
-
- typedef uuid {
- type string {
- pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
- + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
- }
- description
- "A Universally Unique IDentifier in the string representation
- defined in RFC 4122. The canonical representation uses
- lowercase characters.
-
- The following is an example of a UUID in string representation:
- f81d4fae-7dec-11d0-a765-00a0c91e6bf6
- ";
- reference
- "RFC 4122: A Universally Unique IDentifier (UUID) URN
- Namespace";
- }
-
- typedef dotted-quad {
- type string {
- pattern
- '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
- + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
- }
- description
- "An unsigned 32-bit number expressed in the dotted-quad
- notation, i.e., four octets written as decimal numbers
- and separated with the '.' (full stop) character.";
- }
-}
diff --git a/config-models/aether-3.x/files/yang/ip-domain.yang b/config-models/aether-3.x/files/yang/ip-domain.yang
deleted file mode 100755
index ee920b1..0000000
--- a/config-models/aether-3.x/files/yang/ip-domain.yang
+++ /dev/null
@@ -1,103 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module ip-domain {
- namespace "http://opennetworking.org/aether/ip-domain";
- prefix ipd;
-
- import ietf-inet-types { prefix inet; }
- import aether-types { prefix at; }
- import enterprise{ prefix ent; }
- import ietf-yang-types{ prefix yg; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "An Aether IP-Domain. This is a list of available subnets
- that may be assigned to UEs, as well as DNS servers and other
- metadata";
-
- revision "2021-06-02" {
- description "An Aether IP and Domain Specification";
- reference "RFC 6087";
- }
-
- typedef ip-domain-id {
- type yg:yang-identifier {
- length 1..32;
- }
- description "The typedef for ip-domain-id";
- }
-
- container ip-domain {
- description "The top level container";
-
- list ip-domain {
- key "id";
- description
- "List of ip domains";
-
- leaf id {
- type ip-domain-id;
- description "ID for this ip domain.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf dnn {
- type at:dnn;
- description "DNN/APN";
- }
-
- leaf dns-primary {
- type inet:ip-address;
- description "primary dns server name";
- }
-
- leaf dns-secondary {
- type inet:ip-address;
- description "secondary dns server name";
- }
-
- // Note: Cannot use a subnet as a list key. Dropped support from a
- // list of subnets to a single subnet. Revisit in the future.
- leaf subnet {
- type inet:ipv4-prefix;
- mandatory true;
- description "subnet to allocate ip addresses from";
- }
-
- leaf admin-status {
- type at:admin-status;
- description "administrative status";
- }
-
- leaf mtu {
- type at:mtu;
- description "maximum transmission unit";
- }
-
- leaf description {
- type at:description;
- description "description of this ip domain";
- }
-
- // Ip-Domain is always owned by an Enterprise, because it contains
- // IP addresses relative to that Enterprise.
- leaf enterprise {
- type leafref {
- path "/ent:enterprise/ent:enterprise/ent:id";
- }
- mandatory true;
- description
- "Link to enterprise that owns this IP-Domain";
- }
- }
- }
-}
diff --git a/config-models/aether-3.x/files/yang/site.yang b/config-models/aether-3.x/files/yang/site.yang
deleted file mode 100755
index a8653f0..0000000
--- a/config-models/aether-3.x/files/yang/site.yang
+++ /dev/null
@@ -1,102 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module site {
- namespace "http://opennetworking.org/aether/site";
- prefix st;
-
- import aether-types{ prefix at; }
- import enterprise{ prefix ent; }
- import ietf-yang-types{ prefix yg; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "An Aether site is a location where resources are deployed.";
-
- revision "2021-06-02" {
- description "An Aether Site.";
- reference "RFC 6087";
- }
-
- typedef site-id {
- type yg:yang-identifier {
- length 1..32;
- }
- description "The typedef for site-id";
- }
-
- container site {
- description "The top level container";
-
- list site {
- key "id";
- description
- "List of site";
-
- leaf id {
- type site-id;
- description "ID for this site.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf enterprise {
- type leafref {
- path "/ent:enterprise/ent:enterprise/ent:id";
- }
- mandatory true;
- description
- "Link to enterprise that owns this site";
- }
-
- container imsi-definition {
- leaf mcc {
- type at:mcc;
- mandatory true;
- description "mobile country code";
- }
- leaf mnc {
- type at:mnc;
- mandatory true;
- description "mobile network code";
- }
- leaf enterprise {
- type at:ent;
- mandatory true;
- description "enterprise-specific identifier";
- }
- leaf format {
- type string {
- length 15;
- }
- mandatory true;
- description "IMSI format specifier, describes how fields are packed into an IMSI. Must be exactly 15 characters long. For example, CCCNNNEEESSSSSS.";
- // Format specifiers:
- // C = MCC
- // N = MNC
- // E = Enterprise
- // 0 = Forced Zero
- // S = Subscriber ID
- // default is
- // 3 digit MCC
- // 3 digit MNC
- // 3 digit enterprise ID
- // 5 digit subscriber ID
- }
- description "The container for imsi-definition";
- }
-
- leaf description {
- type at:description;
- description "description of this site";
- }
- }
- }
-}
diff --git a/config-models/aether-3.x/files/yang/template.yang b/config-models/aether-3.x/files/yang/template.yang
deleted file mode 100755
index 6f9d291..0000000
--- a/config-models/aether-3.x/files/yang/template.yang
+++ /dev/null
@@ -1,86 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module template {
- namespace "http://opennetworking.org/aether/template";
- prefix tp;
-
- import aether-types{ prefix at; }
- import traffic-class{ prefix tc; }
- import ietf-yang-types{ prefix yg; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "The aether vcs-template holds common parameters used
- by a virtual connectivity service. Templates are used to
- populate a VCS.";
-
- revision "2021-06-02" {
- description "An Aether Virtual Cellular Service Template";
- reference "RFC 6087";
- }
-
- typedef template-id {
- type yg:yang-identifier {
- length 1..32;
- }
- description "The typedef for template-id";
- }
-
- container template {
- description "The top level container";
-
- list template {
- key "id";
- description
- "List of vcs templates";
-
- leaf id {
- type template-id;
- description "ID for this vcs template.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf sst {
- type at:sst;
- description "Slice/Service type";
- }
-
- leaf sd {
- type at:sd;
- description "Slice differentiator";
- }
-
- leaf uplink {
- type uint32;
- description "Uplink data rate in mbps";
- }
-
- leaf downlink {
- type uint32;
- description "Downlink data rate in mbps";
- }
-
- leaf traffic-class {
- type leafref {
- path "/tc:traffic-class/tc:traffic-class/tc:id";
- }
- description
- "Link to traffic class";
- }
-
- leaf description {
- type at:description;
- description "description of this vcs template";
- }
- }
- }
-}
diff --git a/config-models/aether-3.x/files/yang/traffic-class.yang b/config-models/aether-3.x/files/yang/traffic-class.yang
deleted file mode 100755
index 88a9495..0000000
--- a/config-models/aether-3.x/files/yang/traffic-class.yang
+++ /dev/null
@@ -1,71 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module traffic-class {
- namespace "http://opennetworking.org/aether/traffic-class";
- prefix tp;
-
- import aether-types{ prefix at; }
- import ietf-yang-types{ prefix yg; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "The aether traffic class associates qos constants
- with a named class of service";
-
- revision "2021-06-02" {
- description "An Aether Traffic Class";
- reference "RFC 6087";
- }
-
- typedef traffic-class-id {
- type yg:yang-identifier {
- length 1..32;
- }
- description "The typedef for traffic-class-id";
- }
-
- container traffic-class {
- description "The top level container";
-
- list traffic-class {
- key "id";
- description
- "List of traffic class";
-
- leaf id {
- type traffic-class-id;
- description "ID for this traffic class.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf pelr {
- type at:pelr;
- description "PELR exponent";
- }
-
- leaf pdb {
- type at:pdb;
- description "PDB";
- }
-
- leaf qci {
- type at:qci;
- description "QCI";
- }
-
- leaf description {
- type at:description;
- description "description of this traffic class";
- }
- }
- }
-}
diff --git a/config-models/aether-3.x/files/yang/upf.yang b/config-models/aether-3.x/files/yang/upf.yang
deleted file mode 100755
index 433c23b..0000000
--- a/config-models/aether-3.x/files/yang/upf.yang
+++ /dev/null
@@ -1,82 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module upf {
- namespace "http://opennetworking.org/aether/upf";
- prefix upf;
-
- import aether-types { prefix at; }
- import ietf-inet-types { prefix inet; }
- import enterprise{ prefix ent; }
- import ietf-yang-types{ prefix yg; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "A Aether UPF List is a named User Plane Function.";
-
- revision "2021-06-02" {
- description "An Aether User Plane Function";
- reference "RFC 6087";
- }
-
- typedef upf-id {
- type yg:yang-identifier {
- length 1..32;
- }
- description "The typedef for upf-id";
- }
-
- container upf {
- description "The top level container";
-
- list upf {
- key "id";
- description
- "A list of named upfs.";
-
- leaf id {
- type upf-id;
- description "ID for this upf.";
- }
-
- leaf address {
- type inet:host;
- mandatory true;
- description
- "Address of UPF";
- }
-
- leaf port {
- type inet:port-number;
- mandatory true;
- description
- "Port for UPF";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf description {
- type at:description;
- description "description of this UPF";
- }
-
- // UPFs are always owned by an Enterprise, since they typically exist on the
- // Enterprise's edge. TODO: Consider whether they should be owned by a Site
- // instead of Enterprise.
- leaf enterprise {
- type leafref {
- path "/ent:enterprise/ent:enterprise/ent:id";
- }
- mandatory true;
- description
- "Link to enterprise that owns this Access Point List";
- }
- }
- }
-}
diff --git a/config-models/aether-3.x/files/yang/vcs.yang b/config-models/aether-3.x/files/yang/vcs.yang
deleted file mode 100755
index 5e8c5f7..0000000
--- a/config-models/aether-3.x/files/yang/vcs.yang
+++ /dev/null
@@ -1,172 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module vcs {
- namespace "http://opennetworking.org/aether/vcs";
- prefix sl;
-
- import template{ prefix vt; }
- import upf { prefix upf; }
- import ap-list{ prefix apl; }
- import application{ prefix app; }
- import aether-types{ prefix at; }
- import device-group{ prefix dg; }
- import traffic-class{ prefix tc; }
- import ietf-yang-types{ prefix yg; }
- import enterprise{ prefix ent; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "An Aether Virtual Cellular Service (VCS) is
- used to connect UE devices with applications";
-
- revision "2021-06-02" {
- description "An Aether Virtual Cellular Service";
- reference "RFC 6087";
- }
-
- typedef vcs-id {
- type yg:yang-identifier {
- length 1..32;
- }
- description "The typedef for vcs-id";
- }
-
- container vcs {
- description "The top level container";
-
- list vcs {
- key "id";
- description
- "List of virtual cellular services";
-
- leaf id {
- type vcs-id;
- description "ID for this vcs.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- list device-group {
- key "device-group";
- leaf device-group {
- type leafref {
- path "/dg:device-group/dg:device-group/dg:id";
- }
- description
- "Link to device group";
- }
- leaf enable {
- type boolean;
- default true;
- description
- "Enable this device group";
- }
- description
- "A list of device groups. Groups will only participate in
- the VCS if the enable field is set to True";
- }
-
- leaf template {
- type leafref {
- path "/vt:template/vt:template/vt:id";
- }
- description
- "Link to user vcs template that was used to initialize
- this VCS";
- }
-
- list application {
- key "application";
- leaf application {
- type leafref {
- path "/app:application/app:application/app:id";
- }
- mandatory true;
- description
- "Link to application";
- }
- leaf allow {
- type boolean;
- default true;
- description
- "Allow or deny this application";
- }
- description
- "An ordered list of applications to allow and deny. The deny rules
- will be executed first, followed by the allow rules. The first rule
- to match is returned. An implicit DENY ALL lies at the end.";
- }
-
- leaf upf {
- type leafref {
- path "/upf:upf/upf:upf/upf:id";
- }
- description
- "Link to user plane that implements this vcf";
- }
-
- leaf ap {
- type leafref {
- path "/apl:ap-list/apl:ap-list/apl:id";
- }
- description
- "Link to access-point list";
- }
-
- leaf description {
- type at:description;
- description "description of this vcs";
- }
-
- leaf enterprise {
- type leafref {
- path "/ent:enterprise/ent:enterprise/ent:id";
- }
- mandatory true;
- description
- "Link to enterprise that owns this VCS";
- }
-
- // the following are populated from the template
- leaf sst {
- type at:sst;
- mandatory true;
- description "Slice/Service type. Immutable.";
- }
-
- leaf sd {
- type at:sd;
- mandatory true;
- description "Slice differentiator. Immutable.";
- }
-
- leaf uplink {
- type uint32;
- description "Uplink data rate in mbps";
- }
-
- leaf downlink {
- type uint32;
- description "Downlink data rate in mbps";
- }
-
- 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
- }
- }
-}
diff --git a/config-models/aether-3.x/templates/_helpers.tpl b/config-models/aether-3.x/templates/_helpers.tpl
deleted file mode 100644
index bb84c33..0000000
--- a/config-models/aether-3.x/templates/_helpers.tpl
+++ /dev/null
@@ -1,52 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
-SPDX-License-Identifier: Apache-2.0
-
-Expand the name of the chart.
-*/}}
-{{- define "aether.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-If release name contains chart name it will be used as a full name.
-*/}}
-{{- define "aether.fullname" -}}
-{{- if contains "config-model-aether" .Release.Name -}}
-{{- printf "%s-%s" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- printf "%s-%s-config-model-aether" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "aether.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-
-{{/*
-Common labels
-*/}}
-{{- define "aether.labels" -}}
-helm.sh/chart: {{ include "aether.chart" . }}
-{{ include "aether.selectorLabels" . }}
-{{- if .Chart.AppVersion }}
-app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
-{{- end }}
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- end -}}
-
-{{/*
-Selector labels
-*/}}
-{{- define "aether.selectorLabels" -}}
-app.kubernetes.io/name: {{ include "aether.name" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end -}}
-}
diff --git a/config-models/aether-3.x/templates/model.yaml b/config-models/aether-3.x/templates/model.yaml
deleted file mode 100644
index 86db976..0000000
--- a/config-models/aether-3.x/templates/model.yaml
+++ /dev/null
@@ -1,70 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: config.onosproject.org/v1beta1
-kind: Model
-metadata:
- name: {{ template "aether.fullname" . }}
- namespace: {{ .Release.Namespace }}
- labels:
- {{- include "aether.labels" . | nindent 4 }}
-spec:
- plugin:
- type: Aether
- version: {{ .Chart.AppVersion | quote }}
- modules:
- - name: connectivity-service
- organization: Open Networking Foundation
- revision: 2021-06-02
- file: connectivity-service.yang
- - name: enterprise
- organization: Open Networking Foundation
- revision: 2021-06-02
- file: enterprise.yang
-# new 5G models
- - name: aether-types
- organization: Open Networking Foundation
- revision: 2021-06-02
- file: aether-types.yang
- - name: ap-list
- organization: Open Networking Foundation
- revision: 2021-06-02
- file: ap-list.yang
- - name: application
- organization: Open Networking Foundation
- revision: 2021-06-02
- file: application.yang
- - name: device-group
- organization: Open Networking Foundation
- revision: 2021-06-02
- file: device-group.yang
- - name: ip-domain
- organization: Open Networking Foundation
- revision: 2021-06-02
- file: ip-domain.yang
- - name: site
- organization: Open Networking Foundation
- revision: 2021-06-02
- file: site.yang
- - name: upf-list
- organization: Open Networking Foundation
- revision: 2021-06-02
- file: upf.yang
- - name: vcs
- organization: Open Networking Foundation
- revision: 2021-06-02
- file: vcs.yang
- - name: template
- organization: Open Networking Foundation
- revision: 2021-06-02
- file: template.yang
- - name: traffic-class
- organization: Open Networking Foundation
- revision: 2021-06-02
- file: traffic-class.yang
- files:
- {{- range $path, $_ := $.Files.Glob "files/yang/*.yang" }}
- {{ base $path }}: |
-{{ $.Files.Get $path | indent 6 }}
- {{- end }}
diff --git a/config-models/aether-3.x/values.yaml b/config-models/aether-3.x/values.yaml
deleted file mode 100644
index aec2bd5..0000000
--- a/config-models/aether-3.x/values.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-# SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
diff --git a/config-models/aether-4.x/CHANGELOG.md b/config-models/aether-4.x/CHANGELOG.md
deleted file mode 100644
index c8d58ec..0000000
--- a/config-models/aether-4.x/CHANGELOG.md
+++ /dev/null
@@ -1,92 +0,0 @@
-<!--
-SPDX-FileCopyrightText: 2021 Open Networking Foundation
-
-SPDX-License-Identifier: Apache-2.0
--->
-
-Changes on 11/1/2021
-====================
-Application.Endpoint:
- * add `display-name` and rename `name` to `id`
-
-Device-Group.Imsi:
- * add `display-name` and rename `name` to `id`
-
-Site:
- * small-cell: add `display-name` and rename `name` to `id`
- * edge-device: rename `name` to `id`
-
-
-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/21/2021
-=====================
-Connectivity-Service
- * Add acc-prometheus-url
-
-Changes on 10/13/2021
-=====================
-Application
- * Add Traffic-Class to Application
- * Add Site to UPF
- * Add Device.Mbr.<Uplink,Downlink> to DeviceGroup
-
-Differences from Aether-3.0.0
-=============================
-
-VCS and Template:
- * Containerized device MBR Uplink and Download to device.mbr.uplink and device.mbr.downlink
- * Added slice.mbr.uplink and slice.mbr.downlink
- * Remove link to AP-List
- * All bitrates are now uint64 and have units "bps"
- * Renamed the application section to "filter"
- * Added priority to application filters
-
-Site:
- * Added link to AP-List
- * Now includes a list of access points
- * Small-cell (formerly access-point) list includes a name for each AP
-
-Application:
- * Added mbr.uplink and mbr.downlink
- * Moved address outside of the endpoint list
-
-Traffic-Class:
- * Removed pelr and pdb
- * Added arp
-
-AP-List
- * Removed; contents added to slice
-
-UPF:
- * Added config-endpoint
-
-Models prefixed with onf- throughout.
-
-Application Filtering
-=====================
-
-Application filtering is part of this release. A brief description of Application
-Filtering is below.
-
-* Each VCS contains a filter
-* The filter is a list of applications. Each application within the filter can
- be set to Allow or Deny and can be given a priority.
-* The filter is executed in priority order. The first application to match a packet will
- have its resulting action (Allow or Deny) executed for that packet.
-* Each application contains a single address and a set of endpoints.
-* Each endpoint is a port-range together with a maximum bitrate.
-
diff --git a/config-models/aether-4.x/Chart.yaml b/config-models/aether-4.x/Chart.yaml
deleted file mode 100644
index e7cf3ad..0000000
--- a/config-models/aether-4.x/Chart.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: v2
-name: config-model-aether-4
-version: 4.0.18
-kubeVersion: ">=1.18.0"
-appVersion: 4.0.0
-description: Aether config model
-keywords:
- - onos
- - sdn
- - config
-home: https://onosproject.org
-maintainers:
- - name: ONOS Support
- email: support@opennetworking.org
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
deleted file mode 100644
index 24f7a1b..0000000
--- a/config-models/aether-4.x/files/aether-4.0.0.tree
+++ /dev/null
@@ -1,161 +0,0 @@
-module: onf-application
- +--rw application
- +--rw application* [id]
- +--rw id application-id
- +--rw display-name? string
- +--rw description? at:description
- +--rw address ietf:host
- +--rw endpoint* [endpoint-id]
- | +--rw endpoint-id yg:yang-identifier
- | +--rw port-start? ietf:port-number
- | +--rw port-end? ietf:port-number
- | +--rw protocol? at:protocol
- | +--rw mbr
- | | +--rw uplink? at:bitrate
- | | +--rw downlink? at:bitrate
- | +--rw traffic-class? -> /tc:traffic-class/traffic-class/id
- | +--rw display-name? string
- +--rw enterprise -> /ent:enterprise/enterprise/id
-
-module: onf-connectivity-service
- +--rw connectivity-service
- +--rw connectivity-service* [id]
- +--rw id connectivity-service-id
- +--rw display-name? string
- +--rw description? at:description
- +--rw core-5g-endpoint? inet:uri
- +--rw acc-prometheus-url? inet:uri
-
-module: onf-device-group
- +--rw device-group
- +--rw device-group* [id]
- +--rw id device-group-id
- +--rw description? at:description
- +--rw display-name? string
- +--rw imsis* [imsi-id]
- | +--rw imsi-id yg:yang-identifier
- | +--rw imsi-range-from? uint64
- | +--rw imsi-range-to? uint64
- | +--rw display-name? string
- +--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 site -> /st:site/site/id
-
-module: onf-enterprise
- +--rw enterprise
- +--rw enterprise* [id]
- +--rw id enterprise-id
- +--rw display-name? string
- +--rw description? at:description
- +--rw connectivity-service* [connectivity-service]
- +--rw connectivity-service -> /cs:connectivity-service/connectivity-service/id
- +--rw enabled? boolean
-
-module: onf-ip-domain
- +--rw ip-domain
- +--rw ip-domain* [id]
- +--rw id ip-domain-id
- +--rw display-name? string
- +--rw dnn at:dnn
- +--rw dns-primary? inet:ip-address
- +--rw dns-secondary? inet:ip-address
- +--rw subnet inet:ipv4-prefix
- +--rw admin-status? at:admin-status
- +--rw mtu? at:mtu
- +--rw description? at:description
- +--rw enterprise -> /ent:enterprise/enterprise/id
-
-module: onf-site
- +--rw site
- +--rw site* [id]
- +--rw id site-id
- +--rw display-name? string
- +--rw small-cell* [small-cell-id]
- | +--rw small-cell-id yg:yang-identifier
- | +--rw address? inet:host
- | +--rw tac at:tac
- | +--rw enable? boolean
- | +--rw display-name? string
- +--rw monitoring
- | +--rw edge-cluster-prometheus-url? inet:uri
- | +--rw edge-monitoring-prometheus-url? inet:uri
- | +--rw edge-device* [edge-device-id]
- | +--rw edge-device-id yg:yang-identifier
- | +--rw display-name? string
- | +--rw description? at:description
- +--rw enterprise -> /ent:enterprise/enterprise/id
- +--rw imsi-definition
- | +--rw mcc at:mcc
- | +--rw mnc at:mnc
- | +--rw enterprise at:ent
- | +--rw format string
- +--rw description? at:description
-
-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 slice
- | +--rw mbr
- | +--rw uplink? at:bitrate
- | +--rw downlink? at:bitrate
- | +--rw uplink-burst-size? at:burst
- | +--rw downlink-burst-size? at:burst
- +--rw default-behavior at:behavior
- +--rw description? at:description
-
-module: onf-traffic-class
- +--rw traffic-class
- +--rw traffic-class* [id]
- +--rw id traffic-class-id
- +--rw display-name? string
- +--rw arp? at:arp
- +--rw qci? at:qci
- +--rw pelr? at:pelr
- +--rw pdb? at:pdb
- +--rw description? at:description
-
-module: onf-upf
- +--rw upf
- +--rw upf* [id]
- +--rw id upf-id
- +--rw address inet:host
- +--rw port inet:port-number
- +--rw config-endpoint? inet:uri
- +--rw display-name? string
- +--rw description? at:description
- +--rw enterprise -> /ent:enterprise/enterprise/id
- +--rw site -> /st:site/site/id
-
-module: onf-vcs
- +--rw vcs
- +--rw vcs* [id]
- +--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 default-behavior at:behavior
- +--rw filter* [application]
- | +--rw application -> /app:application/application/id
- | +--rw priority? at:priority
- | +--rw allow? boolean
- +--rw upf? -> /upf:upf/upf/id
- +--rw description? at:description
- +--rw enterprise -> /ent:enterprise/enterprise/id
- +--rw site -> /st:site/site/id
- +--rw sst at:sst
- +--rw sd at:sd
- +--rw slice
- +--rw mbr
- +--rw uplink? at:bitrate
- +--rw downlink? at:bitrate
- +--rw uplink-burst-size? at:burst
- +--rw downlink-burst-size? at:burst
diff --git a/config-models/aether-4.x/files/yang/ietf-inet-types.yang b/config-models/aether-4.x/files/yang/ietf-inet-types.yang
deleted file mode 100644
index fa57f75..0000000
--- a/config-models/aether-4.x/files/yang/ietf-inet-types.yang
+++ /dev/null
@@ -1,458 +0,0 @@
-module ietf-inet-types {
-
- namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types";
- prefix "inet";
-
- organization
- "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
- contact
- "WG Web: <http://tools.ietf.org/wg/netmod/>
- WG List: <mailto:netmod@ietf.org>
-
- WG Chair: David Kessens
- <mailto:david.kessens@nsn.com>
-
- WG Chair: Juergen Schoenwaelder
- <mailto:j.schoenwaelder@jacobs-university.de>
-
- Editor: Juergen Schoenwaelder
- <mailto:j.schoenwaelder@jacobs-university.de>";
-
- description
- "This module contains a collection of generally useful derived
- YANG data types for Internet addresses and related things.
-
- Copyright (c) 2013 IETF Trust and the persons identified as
- authors of the code. All rights reserved.
-
- Redistribution and use in source and binary forms, with or
- without modification, is permitted pursuant to, and subject
- to the license terms contained in, the Simplified BSD License
- set forth in Section 4.c of the IETF Trust's Legal Provisions
- Relating to IETF Documents
- (http://trustee.ietf.org/license-info).
-
- This version of this YANG module is part of RFC 6991; see
- the RFC itself for full legal notices.";
-
- revision 2013-07-15 {
- description
- "This revision adds the following new data types:
- - ip-address-no-zone
- - ipv4-address-no-zone
- - ipv6-address-no-zone";
- reference
- "RFC 6991: Common YANG Data Types";
- }
-
- revision 2010-09-24 {
- description
- "Initial revision.";
- reference
- "RFC 6021: Common YANG Data Types";
- }
-
- /*** collection of types related to protocol fields ***/
-
- typedef ip-version {
- type enumeration {
- enum unknown {
- value "0";
- description
- "An unknown or unspecified version of the Internet
- protocol.";
- }
- enum ipv4 {
- value "1";
- description
- "The IPv4 protocol as defined in RFC 791.";
- }
- enum ipv6 {
- value "2";
- description
- "The IPv6 protocol as defined in RFC 2460.";
- }
- }
- description
- "This value represents the version of the IP protocol.
-
- In the value set and its semantics, this type is equivalent
- to the InetVersion textual convention of the SMIv2.";
- reference
- "RFC 791: Internet Protocol
- RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
- RFC 4001: Textual Conventions for Internet Network Addresses";
- }
-
- typedef dscp {
- type uint8 {
- range "0..63";
- }
- description
- "The dscp type represents a Differentiated Services Code Point
- that may be used for marking packets in a traffic stream.
- In the value set and its semantics, this type is equivalent
- to the Dscp textual convention of the SMIv2.";
- reference
- "RFC 3289: Management Information Base for the Differentiated
- Services Architecture
- RFC 2474: Definition of the Differentiated Services Field
- (DS Field) in the IPv4 and IPv6 Headers
- RFC 2780: IANA Allocation Guidelines For Values In
- the Internet Protocol and Related Headers";
- }
-
- typedef ipv6-flow-label {
- type uint32 {
- range "0..1048575";
- }
- description
- "The ipv6-flow-label type represents the flow identifier or Flow
- Label in an IPv6 packet header that may be used to
- discriminate traffic flows.
-
- In the value set and its semantics, this type is equivalent
- to the IPv6FlowLabel textual convention of the SMIv2.";
- reference
- "RFC 3595: Textual Conventions for IPv6 Flow Label
- RFC 2460: Internet Protocol, Version 6 (IPv6) Specification";
- }
-
- typedef port-number {
- type uint16 {
- range "0..65535";
- }
- description
- "The port-number type represents a 16-bit port number of an
- Internet transport-layer protocol such as UDP, TCP, DCCP, or
- SCTP. Port numbers are assigned by IANA. A current list of
- all assignments is available from <http://www.iana.org/>.
-
- Note that the port number value zero is reserved by IANA. In
- situations where the value zero does not make sense, it can
- be excluded by subtyping the port-number type.
- In the value set and its semantics, this type is equivalent
- to the InetPortNumber textual convention of the SMIv2.";
- reference
- "RFC 768: User Datagram Protocol
- RFC 793: Transmission Control Protocol
- RFC 4960: Stream Control Transmission Protocol
- RFC 4340: Datagram Congestion Control Protocol (DCCP)
- RFC 4001: Textual Conventions for Internet Network Addresses";
- }
-
- /*** collection of types related to autonomous systems ***/
-
- typedef as-number {
- type uint32;
- description
- "The as-number type represents autonomous system numbers
- which identify an Autonomous System (AS). An AS is a set
- of routers under a single technical administration, using
- an interior gateway protocol and common metrics to route
- packets within the AS, and using an exterior gateway
- protocol to route packets to other ASes. IANA maintains
- the AS number space and has delegated large parts to the
- regional registries.
-
- Autonomous system numbers were originally limited to 16
- bits. BGP extensions have enlarged the autonomous system
- number space to 32 bits. This type therefore uses an uint32
- base type without a range restriction in order to support
- a larger autonomous system number space.
-
- In the value set and its semantics, this type is equivalent
- to the InetAutonomousSystemNumber textual convention of
- the SMIv2.";
- reference
- "RFC 1930: Guidelines for creation, selection, and registration
- of an Autonomous System (AS)
- RFC 4271: A Border Gateway Protocol 4 (BGP-4)
- RFC 4001: Textual Conventions for Internet Network Addresses
- RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
- Number Space";
- }
-
- /*** collection of types related to IP addresses and hostnames ***/
-
- typedef ip-address {
- type union {
- type inet:ipv4-address;
- type inet:ipv6-address;
- }
- description
- "The ip-address type represents an IP address and is IP
- version neutral. The format of the textual representation
- implies the IP version. This type supports scoped addresses
- by allowing zone identifiers in the address format.";
- reference
- "RFC 4007: IPv6 Scoped Address Architecture";
- }
-
- typedef ipv4-address {
- type string {
- pattern
- '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
- + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
- + '(%[\p{N}\p{L}]+)?';
- }
- description
- "The ipv4-address type represents an IPv4 address in
- dotted-quad notation. The IPv4 address may include a zone
- index, separated by a % sign.
-
- The zone index is used to disambiguate identical address
- values. For link-local addresses, the zone index will
- typically be the interface index number or the name of an
- interface. If the zone index is not present, the default
- zone of the device will be used.
-
- The canonical format for the zone index is the numerical
- format";
- }
-
- typedef ipv6-address {
- type string {
- pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
- + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
- + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
- + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
- + '(%[\p{N}\p{L}]+)?';
- pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
- + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
- + '(%.+)?';
- }
- description
- "The ipv6-address type represents an IPv6 address in full,
- mixed, shortened, and shortened-mixed notation. The IPv6
- address may include a zone index, separated by a % sign.
-
- The zone index is used to disambiguate identical address
- values. For link-local addresses, the zone index will
- typically be the interface index number or the name of an
- interface. If the zone index is not present, the default
- zone of the device will be used.
-
- The canonical format of IPv6 addresses uses the textual
- representation defined in Section 4 of RFC 5952. The
- canonical format for the zone index is the numerical
- format as described in Section 11.2 of RFC 4007.";
- reference
- "RFC 4291: IP Version 6 Addressing Architecture
- RFC 4007: IPv6 Scoped Address Architecture
- RFC 5952: A Recommendation for IPv6 Address Text
- Representation";
- }
-
- typedef ip-address-no-zone {
- type union {
- type inet:ipv4-address-no-zone;
- type inet:ipv6-address-no-zone;
- }
- description
- "The ip-address-no-zone type represents an IP address and is
- IP version neutral. The format of the textual representation
- implies the IP version. This type does not support scoped
- addresses since it does not allow zone identifiers in the
- address format.";
- reference
- "RFC 4007: IPv6 Scoped Address Architecture";
- }
-
- typedef ipv4-address-no-zone {
- type inet:ipv4-address {
- pattern '[0-9\.]*';
- }
- description
- "An IPv4 address without a zone index. This type, derived from
- ipv4-address, may be used in situations where the zone is
- known from the context and hence no zone index is needed.";
- }
-
- typedef ipv6-address-no-zone {
- type inet:ipv6-address {
- pattern '[0-9a-fA-F:\.]*';
- }
- description
- "An IPv6 address without a zone index. This type, derived from
- ipv6-address, may be used in situations where the zone is
- known from the context and hence no zone index is needed.";
- reference
- "RFC 4291: IP Version 6 Addressing Architecture
- RFC 4007: IPv6 Scoped Address Architecture
- RFC 5952: A Recommendation for IPv6 Address Text
- Representation";
- }
-
- typedef ip-prefix {
- type union {
- type inet:ipv4-prefix;
- type inet:ipv6-prefix;
- }
- description
- "The ip-prefix type represents an IP prefix and is IP
- version neutral. The format of the textual representations
- implies the IP version.";
- }
-
- typedef ipv4-prefix {
- type string {
- pattern
- '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
- + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
- + '/(([0-9])|([1-2][0-9])|(3[0-2]))';
- }
- description
- "The ipv4-prefix type represents an IPv4 address prefix.
- The prefix length is given by the number following the
- slash character and must be less than or equal to 32.
-
- A prefix length value of n corresponds to an IP address
- mask that has n contiguous 1-bits from the most
- significant bit (MSB) and all other bits set to 0.
-
- The canonical format of an IPv4 prefix has all bits of
- the IPv4 address set to zero that are not part of the
- IPv4 prefix.";
- }
-
- typedef ipv6-prefix {
- type string {
- pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
- + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
- + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
- + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
- + '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))';
- pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
- + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
- + '(/.+)';
- }
-
- description
- "The ipv6-prefix type represents an IPv6 address prefix.
- The prefix length is given by the number following the
- slash character and must be less than or equal to 128.
-
- A prefix length value of n corresponds to an IP address
- mask that has n contiguous 1-bits from the most
- significant bit (MSB) and all other bits set to 0.
-
- The IPv6 address should have all bits that do not belong
- to the prefix set to zero.
-
- The canonical format of an IPv6 prefix has all bits of
- the IPv6 address set to zero that are not part of the
- IPv6 prefix. Furthermore, the IPv6 address is represented
- as defined in Section 4 of RFC 5952.";
- reference
- "RFC 5952: A Recommendation for IPv6 Address Text
- Representation";
- }
-
- /*** collection of domain name and URI types ***/
-
- typedef domain-name {
- type string {
- length "1..253";
- pattern
- '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
- + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
- + '|\.';
- }
- description
- "The domain-name type represents a DNS domain name. The
- name SHOULD be fully qualified whenever possible.
-
- Internet domain names are only loosely specified. Section
- 3.5 of RFC 1034 recommends a syntax (modified in Section
- 2.1 of RFC 1123). The pattern above is intended to allow
- for current practice in domain name use, and some possible
- future expansion. It is designed to hold various types of
- domain names, including names used for A or AAAA records
- (host names) and other records, such as SRV records. Note
- that Internet host names have a stricter syntax (described
- in RFC 952) than the DNS recommendations in RFCs 1034 and
- 1123, and that systems that want to store host names in
- schema nodes using the domain-name type are recommended to
- adhere to this stricter standard to ensure interoperability.
-
- The encoding of DNS names in the DNS protocol is limited
- to 255 characters. Since the encoding consists of labels
- prefixed by a length bytes and there is a trailing NULL
- byte, only 253 characters can appear in the textual dotted
- notation.
-
- The description clause of schema nodes using the domain-name
- type MUST describe when and how these names are resolved to
- IP addresses. Note that the resolution of a domain-name value
- may require to query multiple DNS records (e.g., A for IPv4
- and AAAA for IPv6). The order of the resolution process and
- which DNS record takes precedence can either be defined
- explicitly or may depend on the configuration of the
- resolver.
-
- Domain-name values use the US-ASCII encoding. Their canonical
- format uses lowercase US-ASCII characters. Internationalized
- domain names MUST be A-labels as per RFC 5890.";
- reference
- "RFC 952: DoD Internet Host Table Specification
- RFC 1034: Domain Names - Concepts and Facilities
- RFC 1123: Requirements for Internet Hosts -- Application
- and Support
- RFC 2782: A DNS RR for specifying the location of services
- (DNS SRV)
- RFC 5890: Internationalized Domain Names in Applications
- (IDNA): Definitions and Document Framework";
- }
-
- typedef host {
- type union {
- type inet:ip-address;
- type inet:domain-name;
- }
- description
- "The host type represents either an IP address or a DNS
- domain name.";
- }
-
- typedef uri {
- type string;
- description
- "The uri type represents a Uniform Resource Identifier
- (URI) as defined by STD 66.
-
- Objects using the uri type MUST be in US-ASCII encoding,
- and MUST be normalized as described by RFC 3986 Sections
- 6.2.1, 6.2.2.1, and 6.2.2.2. All unnecessary
- percent-encoding is removed, and all case-insensitive
- characters are set to lowercase except for hexadecimal
- digits, which are normalized to uppercase as described in
- Section 6.2.2.1.
-
- The purpose of this normalization is to help provide
- unique URIs. Note that this normalization is not
- sufficient to provide uniqueness. Two URIs that are
- textually distinct after this normalization may still be
- equivalent.
-
- Objects using the uri type may restrict the schemes that
- they permit. For example, 'data:' and 'urn:' schemes
- might not be appropriate.
-
- A zero-length URI is not a valid URI. This can be used to
- express 'URI absent' where required.
-
- In the value set and its semantics, this type is equivalent
- to the Uri SMIv2 textual convention defined in RFC 5017.";
- reference
- "RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
- RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
- Group: Uniform Resource Identifiers (URIs), URLs,
- and Uniform Resource Names (URNs): Clarifications
- and Recommendations
- RFC 5017: MIB Textual Conventions for Uniform Resource
- Identifiers (URIs)";
- }
-
-}
diff --git a/config-models/aether-4.x/files/yang/ietf-yang-types.yang b/config-models/aether-4.x/files/yang/ietf-yang-types.yang
deleted file mode 100644
index ee58fa3..0000000
--- a/config-models/aether-4.x/files/yang/ietf-yang-types.yang
+++ /dev/null
@@ -1,474 +0,0 @@
-module ietf-yang-types {
-
- namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
- prefix "yang";
-
- organization
- "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
- contact
- "WG Web: <http://tools.ietf.org/wg/netmod/>
- WG List: <mailto:netmod@ietf.org>
-
- WG Chair: David Kessens
- <mailto:david.kessens@nsn.com>
-
- WG Chair: Juergen Schoenwaelder
- <mailto:j.schoenwaelder@jacobs-university.de>
-
- Editor: Juergen Schoenwaelder
- <mailto:j.schoenwaelder@jacobs-university.de>";
-
- description
- "This module contains a collection of generally useful derived
- YANG data types.
-
- Copyright (c) 2013 IETF Trust and the persons identified as
- authors of the code. All rights reserved.
-
- Redistribution and use in source and binary forms, with or
- without modification, is permitted pursuant to, and subject
- to the license terms contained in, the Simplified BSD License
- set forth in Section 4.c of the IETF Trust's Legal Provisions
- Relating to IETF Documents
- (http://trustee.ietf.org/license-info).
-
- This version of this YANG module is part of RFC 6991; see
- the RFC itself for full legal notices.";
-
- revision 2013-07-15 {
- description
- "This revision adds the following new data types:
- - yang-identifier
- - hex-string
- - uuid
- - dotted-quad";
- reference
- "RFC 6991: Common YANG Data Types";
- }
-
- revision 2010-09-24 {
- description
- "Initial revision.";
- reference
- "RFC 6021: Common YANG Data Types";
- }
-
- /*** collection of counter and gauge types ***/
-
- typedef counter32 {
- type uint32;
- description
- "The counter32 type represents a non-negative integer
- that monotonically increases until it reaches a
- maximum value of 2^32-1 (4294967295 decimal), when it
- wraps around and starts increasing again from zero.
-
- Counters have no defined 'initial' value, and thus, a
- single value of a counter has (in general) no information
- content. Discontinuities in the monotonically increasing
- value normally occur at re-initialization of the
- management system, and at other times as specified in the
- description of a schema node using this type. If such
- other times can occur, for example, the creation of
- a schema node of type counter32 at times other than
- re-initialization, then a corresponding schema node
- should be defined, with an appropriate type, to indicate
- the last discontinuity.
-
- The counter32 type should not be used for configuration
- schema nodes. A default statement SHOULD NOT be used in
- combination with the type counter32.
-
- In the value set and its semantics, this type is equivalent
- to the Counter32 type of the SMIv2.";
- reference
- "RFC 2578: Structure of Management Information Version 2
- (SMIv2)";
- }
-
- typedef zero-based-counter32 {
- type yang:counter32;
- default "0";
- description
- "The zero-based-counter32 type represents a counter32
- that has the defined 'initial' value zero.
-
- A schema node of this type will be set to zero (0) on creation
- and will thereafter increase monotonically until it reaches
- a maximum value of 2^32-1 (4294967295 decimal), when it
- wraps around and starts increasing again from zero.
-
- Provided that an application discovers a new schema node
- of this type within the minimum time to wrap, it can use the
- 'initial' value as a delta. It is important for a management
- station to be aware of this minimum time and the actual time
- between polls, and to discard data if the actual time is too
- long or there is no defined minimum time.
-
- In the value set and its semantics, this type is equivalent
- to the ZeroBasedCounter32 textual convention of the SMIv2.";
- reference
- "RFC 4502: Remote Network Monitoring Management Information
- Base Version 2";
- }
-
- typedef counter64 {
- type uint64;
- description
- "The counter64 type represents a non-negative integer
- that monotonically increases until it reaches a
- maximum value of 2^64-1 (18446744073709551615 decimal),
- when it wraps around and starts increasing again from zero.
-
- Counters have no defined 'initial' value, and thus, a
- single value of a counter has (in general) no information
- content. Discontinuities in the monotonically increasing
- value normally occur at re-initialization of the
- management system, and at other times as specified in the
- description of a schema node using this type. If such
- other times can occur, for example, the creation of
- a schema node of type counter64 at times other than
- re-initialization, then a corresponding schema node
- should be defined, with an appropriate type, to indicate
- the last discontinuity.
-
- The counter64 type should not be used for configuration
- schema nodes. A default statement SHOULD NOT be used in
- combination with the type counter64.
-
- In the value set and its semantics, this type is equivalent
- to the Counter64 type of the SMIv2.";
- reference
- "RFC 2578: Structure of Management Information Version 2
- (SMIv2)";
- }
-
- typedef zero-based-counter64 {
- type yang:counter64;
- default "0";
- description
- "The zero-based-counter64 type represents a counter64 that
- has the defined 'initial' value zero.
-
- A schema node of this type will be set to zero (0) on creation
- and will thereafter increase monotonically until it reaches
- a maximum value of 2^64-1 (18446744073709551615 decimal),
- when it wraps around and starts increasing again from zero.
-
- Provided that an application discovers a new schema node
- of this type within the minimum time to wrap, it can use the
- 'initial' value as a delta. It is important for a management
- station to be aware of this minimum time and the actual time
- between polls, and to discard data if the actual time is too
- long or there is no defined minimum time.
-
- In the value set and its semantics, this type is equivalent
- to the ZeroBasedCounter64 textual convention of the SMIv2.";
- reference
- "RFC 2856: Textual Conventions for Additional High Capacity
- Data Types";
- }
-
- typedef gauge32 {
- type uint32;
- description
- "The gauge32 type represents a non-negative integer, which
- may increase or decrease, but shall never exceed a maximum
- value, nor fall below a minimum value. The maximum value
- cannot be greater than 2^32-1 (4294967295 decimal), and
- the minimum value cannot be smaller than 0. The value of
- a gauge32 has its maximum value whenever the information
- being modeled is greater than or equal to its maximum
- value, and has its minimum value whenever the information
- being modeled is smaller than or equal to its minimum value.
- If the information being modeled subsequently decreases
- below (increases above) the maximum (minimum) value, the
- gauge32 also decreases (increases).
-
- In the value set and its semantics, this type is equivalent
- to the Gauge32 type of the SMIv2.";
- reference
- "RFC 2578: Structure of Management Information Version 2
- (SMIv2)";
- }
-
- typedef gauge64 {
- type uint64;
- description
- "The gauge64 type represents a non-negative integer, which
- may increase or decrease, but shall never exceed a maximum
- value, nor fall below a minimum value. The maximum value
- cannot be greater than 2^64-1 (18446744073709551615), and
- the minimum value cannot be smaller than 0. The value of
- a gauge64 has its maximum value whenever the information
- being modeled is greater than or equal to its maximum
- value, and has its minimum value whenever the information
- being modeled is smaller than or equal to its minimum value.
- If the information being modeled subsequently decreases
- below (increases above) the maximum (minimum) value, the
- gauge64 also decreases (increases).
-
- In the value set and its semantics, this type is equivalent
- to the CounterBasedGauge64 SMIv2 textual convention defined
- in RFC 2856";
- reference
- "RFC 2856: Textual Conventions for Additional High Capacity
- Data Types";
- }
-
- /*** collection of identifier-related types ***/
-
- typedef object-identifier {
- type string {
- pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
- + '(\.(0|([1-9]\d*)))*';
- }
- description
- "The object-identifier type represents administratively
- assigned names in a registration-hierarchical-name tree.
-
- Values of this type are denoted as a sequence of numerical
- non-negative sub-identifier values. Each sub-identifier
- value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
- are separated by single dots and without any intermediate
- whitespace.
-
- The ASN.1 standard restricts the value space of the first
- sub-identifier to 0, 1, or 2. Furthermore, the value space
- of the second sub-identifier is restricted to the range
- 0 to 39 if the first sub-identifier is 0 or 1. Finally,
- the ASN.1 standard requires that an object identifier
- has always at least two sub-identifiers. The pattern
- captures these restrictions.
-
- Although the number of sub-identifiers is not limited,
- module designers should realize that there may be
- implementations that stick with the SMIv2 limit of 128
- sub-identifiers.
-
- This type is a superset of the SMIv2 OBJECT IDENTIFIER type
- since it is not restricted to 128 sub-identifiers. Hence,
- this type SHOULD NOT be used to represent the SMIv2 OBJECT
- IDENTIFIER type; the object-identifier-128 type SHOULD be
- used instead.";
- reference
- "ISO9834-1: Information technology -- Open Systems
- Interconnection -- Procedures for the operation of OSI
- Registration Authorities: General procedures and top
- arcs of the ASN.1 Object Identifier tree";
- }
-
- typedef object-identifier-128 {
- type object-identifier {
- pattern '\d*(\.\d*){1,127}';
- }
- description
- "This type represents object-identifiers restricted to 128
- sub-identifiers.
-
- In the value set and its semantics, this type is equivalent
- to the OBJECT IDENTIFIER type of the SMIv2.";
- reference
- "RFC 2578: Structure of Management Information Version 2
- (SMIv2)";
- }
-
- typedef yang-identifier {
- type string {
- length "1..max";
- pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
- pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
- }
- description
- "A YANG identifier string as defined by the 'identifier'
- rule in Section 12 of RFC 6020. An identifier must
- start with an alphabetic character or an underscore
- followed by an arbitrary sequence of alphabetic or
- numeric characters, underscores, hyphens, or dots.
-
- A YANG identifier MUST NOT start with any possible
- combination of the lowercase or uppercase character
- sequence 'xml'.";
- reference
- "RFC 6020: YANG - A Data Modeling Language for the Network
- Configuration Protocol (NETCONF)";
- }
-
- /*** collection of types related to date and time***/
-
- typedef date-and-time {
- type string {
- pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
- + '(Z|[\+\-]\d{2}:\d{2})';
- }
- description
- "The date-and-time type is a profile of the ISO 8601
- standard for representation of dates and times using the
- Gregorian calendar. The profile is defined by the
- date-time production in Section 5.6 of RFC 3339.
-
- The date-and-time type is compatible with the dateTime XML
- schema type with the following notable exceptions:
-
- (a) The date-and-time type does not allow negative years.
-
- (b) The date-and-time time-offset -00:00 indicates an unknown
- time zone (see RFC 3339) while -00:00 and +00:00 and Z
- all represent the same time zone in dateTime.
-
- (c) The canonical format (see below) of data-and-time values
- differs from the canonical format used by the dateTime XML
- schema type, which requires all times to be in UTC using
- the time-offset 'Z'.
-
- This type is not equivalent to the DateAndTime textual
- convention of the SMIv2 since RFC 3339 uses a different
- separator between full-date and full-time and provides
- higher resolution of time-secfrac.
-
- The canonical format for date-and-time values with a known time
- zone uses a numeric time zone offset that is calculated using
- the device's configured known offset to UTC time. A change of
- the device's offset to UTC time will cause date-and-time values
- to change accordingly. Such changes might happen periodically
- in case a server follows automatically daylight saving time
- (DST) time zone offset changes. The canonical format for
- date-and-time values with an unknown time zone (usually
- referring to the notion of local time) uses the time-offset
- -00:00.";
- reference
- "RFC 3339: Date and Time on the Internet: Timestamps
- RFC 2579: Textual Conventions for SMIv2
- XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
- }
-
- typedef timeticks {
- type uint32;
- description
- "The timeticks type represents a non-negative integer that
- represents the time, modulo 2^32 (4294967296 decimal), in
- hundredths of a second between two epochs. When a schema
- node is defined that uses this type, the description of
- the schema node identifies both of the reference epochs.
-
- In the value set and its semantics, this type is equivalent
- to the TimeTicks type of the SMIv2.";
- reference
- "RFC 2578: Structure of Management Information Version 2
- (SMIv2)";
- }
-
- typedef timestamp {
- type yang:timeticks;
- description
- "The timestamp type represents the value of an associated
- timeticks schema node at which a specific occurrence
- happened. The specific occurrence must be defined in the
- description of any schema node defined using this type. When
- the specific occurrence occurred prior to the last time the
- associated timeticks attribute was zero, then the timestamp
- value is zero. Note that this requires all timestamp values
- to be reset to zero when the value of the associated timeticks
- attribute reaches 497+ days and wraps around to zero.
-
- The associated timeticks schema node must be specified
- in the description of any schema node using this type.
-
- In the value set and its semantics, this type is equivalent
- to the TimeStamp textual convention of the SMIv2.";
- reference
- "RFC 2579: Textual Conventions for SMIv2";
- }
-
- /*** collection of generic address types ***/
-
- typedef phys-address {
- type string {
- pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
- }
-
- description
- "Represents media- or physical-level addresses represented
- as a sequence octets, each octet represented by two hexadecimal
- numbers. Octets are separated by colons. The canonical
- representation uses lowercase characters.
-
- In the value set and its semantics, this type is equivalent
- to the PhysAddress textual convention of the SMIv2.";
- reference
- "RFC 2579: Textual Conventions for SMIv2";
- }
-
- typedef mac-address {
- type string {
- pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
- }
- description
- "The mac-address type represents an IEEE 802 MAC address.
- The canonical representation uses lowercase characters.
-
- In the value set and its semantics, this type is equivalent
- to the MacAddress textual convention of the SMIv2.";
- reference
- "IEEE 802: IEEE Standard for Local and Metropolitan Area
- Networks: Overview and Architecture
- RFC 2579: Textual Conventions for SMIv2";
- }
-
- /*** collection of XML-specific types ***/
-
- typedef xpath1.0 {
- type string;
- description
- "This type represents an XPATH 1.0 expression.
-
- When a schema node is defined that uses this type, the
- description of the schema node MUST specify the XPath
- context in which the XPath expression is evaluated.";
- reference
- "XPATH: XML Path Language (XPath) Version 1.0";
- }
-
- /*** collection of string types ***/
-
- typedef hex-string {
- type string {
- pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
- }
- description
- "A hexadecimal string with octets represented as hex digits
- separated by colons. The canonical representation uses
- lowercase characters.";
- }
-
- typedef uuid {
- type string {
- pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
- + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
- }
- description
- "A Universally Unique IDentifier in the string representation
- defined in RFC 4122. The canonical representation uses
- lowercase characters.
-
- The following is an example of a UUID in string representation:
- f81d4fae-7dec-11d0-a765-00a0c91e6bf6
- ";
- reference
- "RFC 4122: A Universally Unique IDentifier (UUID) URN
- Namespace";
- }
-
- typedef dotted-quad {
- type string {
- pattern
- '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
- + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
- }
- description
- "An unsigned 32-bit number expressed in the dotted-quad
- notation, i.e., four octets written as decimal numbers
- and separated with the '.' (full stop) character.";
- }
-}
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
deleted file mode 100755
index 9d9c892..0000000
--- a/config-models/aether-4.x/files/yang/onf-aether-types.yang
+++ /dev/null
@@ -1,159 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-aether-types {
- namespace "http://opennetworking.org/aether/aether-types";
- prefix at;
-
- import ietf-inet-types { prefix inet; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "A set of base types for aether modeling.";
-
- revision "2021-09-10" {
- description "Aether Base Types";
- reference "RFC 6087";
- }
-
- typedef bitrate {
- type uint64 {
- }
- description "The typedef for bitrate";
- }
-
- typedef burst {
- type uint32 {
- }
- default 625000;
- description "The typedef for burst";
- }
-
- typedef mcc {
- type string {
- pattern '[0-9]{3}';
- }
- description "The typedef for mcc";
- }
-
- typedef mnc {
- type string {
- pattern '[0-9]{2,3}';
- }
- description "The typedef for mnc";
- }
-
- typedef tac {
- type string {
- length 4..8;
- pattern '[0-9A-F\.]*';
- }
- description "The typedef for tac";
- }
-
- typedef ent {
- type uint32 {
- range 0..999;
- }
- description "The typedef for ent";
- }
-
- typedef dnn {
- type string {
- length 1..32;
- }
- description "The typedef for dnn";
- }
-
- typedef sst {
- type uint8 {
- range 1..255;
- }
- description "The typedef for sst";
- }
-
- typedef sd {
- type uint32 {
- range 0..16777215;
- }
- description "The typedef for sd";
- }
-
- typedef qci {
- type uint8 {
- range 1..32;
- }
- description "The typedef for qci";
- }
-
- typedef arp {
- type uint8 {
- range 1..15;
- }
- description "The typedef for arp";
- }
-
- typedef pelr {
- type int8 {
- range 0..10;
- }
- description "The typedef for pelr";
- }
-
- typedef pdb {
- type uint16 {
- range 0..1000;
- }
- description "The typedef for pdb";
- }
-
- typedef priority {
- type uint8 {
- // priorities 201-255 are reserved for system use
- range 0..200;
- }
- description "The typedef for priority";
- }
-
- // "TCP" or "UDP"
- typedef protocol {
- type string {
- length 3;
- pattern "TCP|UDP";
- }
- default "TCP";
- description "The typedef for protocol";
- }
-
- // "ENABLE" | "MAINTENTANCE" | "DISABLE"
- typedef admin-status {
- type string {
- length 0..16;
- pattern "ENABLE|MAINTENANCE|DISABLE";
- }
- default "ENABLE";
- description "The typedef for admin-status";
- }
-
- typedef behavior {
- type string {
- length 0..20;
- pattern "DENY-ALL|ALLOW-ALL|ALLOW-PUBLIC";
- }
- description "The typedef for behavior";
- }
-
- typedef mtu {
- type inet:port-number;
- default 1492;
- description "The typedef for mtu";
- }
-
- typedef description {
- type string {
- length 1..1024;
- }
- description "The typedef for description";
- }
-}
diff --git a/config-models/aether-4.x/files/yang/onf-application.yang b/config-models/aether-4.x/files/yang/onf-application.yang
deleted file mode 100755
index e774944..0000000
--- a/config-models/aether-4.x/files/yang/onf-application.yang
+++ /dev/null
@@ -1,128 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-application {
- namespace "http://opennetworking.org/enterprise/application";
- prefix app;
-
- import ietf-inet-types{ prefix ietf; }
- import ietf-yang-types{ prefix yg; }
- import onf-aether-types{ prefix at; }
- import onf-enterprise{ prefix ent; }
- import onf-traffic-class{ prefix tc; }
-
- 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 "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";
- }
-
- container application {
- description "The top level container";
-
- list application {
- key "id";
- description
- "List of applications";
-
- leaf id {
- type application-id;
- description "ID for this application.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf description {
- type at:description;
- description "description of this application";
- }
-
- leaf address {
- type ietf:host;
- 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";
- }
- 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 "/tc:traffic-class/tc:traffic-class/tc:id";
- }
- description
- "Link to traffic class";
- }
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
- description "list for endpoint";
- }
-
- leaf enterprise {
- type leafref {
- path "/ent:enterprise/ent:enterprise/ent:id";
- }
- mandatory true;
- description
- "Link to enterprise that owns this Application. May be set to None if the application is global to all Enterprises.";
- }
- }
- }
-}
diff --git a/config-models/aether-4.x/files/yang/onf-connectivity-service.yang b/config-models/aether-4.x/files/yang/onf-connectivity-service.yang
deleted file mode 100755
index 009fc6c..0000000
--- a/config-models/aether-4.x/files/yang/onf-connectivity-service.yang
+++ /dev/null
@@ -1,68 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-connectivity-service {
- namespace "http://opennetworking.org/aether/connectivity-service";
- prefix cs;
-
- import ietf-inet-types { prefix inet; }
- import ietf-yang-types{ prefix yg; }
- import onf-aether-types { prefix at; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "An Aether Connectivity service is the linkage between the
- ROC and a core that provides connectivity.";
-
- revision "2021-10-21" {
- description "An Aether Connectivity Service. Specifies the endpoints where the sdcore-adapter should push configuration to. A single connectivity service may be attached to multiple Enterprises.";
- reference "RFC 6087";
- }
-
- typedef connectivity-service-id {
- type yg:yang-identifier {
- length 1..32;
- }
- description "The typedef for connectivity-service-id";
- }
-
- container connectivity-service {
- description "The top level container";
-
- list connectivity-service {
- key "id";
- description
- "List of connectivity services";
-
- leaf id {
- type connectivity-service-id;
- description "ID for this connectivity service.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf description {
- type at:description;
- description "description of this connectivity service";
- }
-
- leaf core-5g-endpoint {
- type inet:uri;
- description "url of the 5g core";
- }
-
- leaf acc-prometheus-url {
- type inet:uri;
- description
- "URL of ACC prometheus";
- }
- }
- }
-}
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
deleted file mode 100755
index 0aac881..0000000
--- a/config-models/aether-4.x/files/yang/onf-device-group.yang
+++ /dev/null
@@ -1,141 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-device-group {
- namespace "http://opennetworking.org/aether/device-group";
- prefix dg;
-
- import ietf-yang-types{ prefix yg; }
- import onf-aether-types { prefix at; }
- import onf-ip-domain{ prefix ipd; }
- import onf-site{ prefix st; }
- import onf-traffic-class{ prefix tc; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "An aether device group represents a list of device IMSIS.
- This list is expressed as a set of ranges,
- [(from_imsi, to_imsi),
- (from_imsi, to_imsi),
- ...].
- Each device group belongs to a site and has associated
- with it an ip-profile that determines the IP address
- and DNS settings that apply to devices within the
- group";
-
- revision "2021-06-02" {
- description "An Aether Device Group";
- reference "RFC 6087";
- }
-
- typedef device-group-id {
- type yg:yang-identifier {
- length 1..32;
- }
- description "The typedef for device-group-id";
- }
-
- container device-group {
- description "The top level container";
-
- list device-group {
- key "id";
- description
- "List of device groups";
-
- leaf id {
- type device-group-id;
- description "ID for this device group.";
- }
-
- leaf description {
- type at:description;
- description "description of this device group";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- list imsis {
- // TODO: imsi-range-from cannot be used as a list index
- key "imsi-id";
- leaf imsi-id {
- type yg:yang-identifier;
- description
- "Id of this imsi-range";
- }
- leaf imsi-range-from {
- type uint64;
- description
- "value of imsi-range-from";
- }
- leaf imsi-range-to {
- type uint64;
- description
- "value of imsi-range-to";
- }
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
- description
- "List of imsi ranges that comprise this group. It's acceptable for
- a range to degenerate to being a singleton";
- }
-
- leaf ip-domain {
- type leafref {
- path "/ipd:ip-domain/ipd:ip-domain/ipd:id";
- }
- description
- "Link to ip-domain settings that determine the pool of IP addresses,
- as well as the domain resolver settings to use";
- }
-
- container device {
- description "Per-device QOS Settings";
- container mbr {
- description "Maximum bitrate";
- leaf uplink {
- type at:bitrate;
- units bps;
- mandatory true;
- description "Per-device MBR uplink data rate in bps";
- }
-
- leaf downlink {
- type at:bitrate;
- units bps;
- mandatory true;
- description "Per-device MBR downlink data rate in bps";
- }
- }
- leaf traffic-class {
- type leafref {
- path "/tc:traffic-class/tc:traffic-class/tc:id";
- }
- mandatory true;
- description
- "Link to traffic class";
- }
- }
-
- leaf site {
- type leafref {
- path "/st:site/st:site/st:id";
- }
- mandatory true;
- description
- "Link to site";
- }
- }
- }
-}
diff --git a/config-models/aether-4.x/files/yang/onf-enterprise.yang b/config-models/aether-4.x/files/yang/onf-enterprise.yang
deleted file mode 100755
index 906d8ac..0000000
--- a/config-models/aether-4.x/files/yang/onf-enterprise.yang
+++ /dev/null
@@ -1,75 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-enterprise {
- namespace "http://opennetworking.org/aether/enterprise";
- prefix ent;
-
- import ietf-yang-types{ prefix yg; }
- import onf-aether-types { prefix at; }
- import onf-connectivity-service { prefix cs; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "An Aether Enterprise is an administration entity that
- has ownership of resrouces.";
-
- revision "2021-06-02" {
- description "An Aether Enterprise. Used to distinguish ownership of devices and other resources as well as a domain of configuration.";
- reference "RFC 6087";
- }
-
- typedef enterprise-id {
- type yg:yang-identifier {
- length 1..32;
- }
- description "The typedef for enterprise-id";
- }
-
- container enterprise {
- description "The top level container";
-
- list enterprise {
- key "id";
- description
- "List of enterprises";
-
- leaf id {
- type enterprise-id;
- description "ID for this enterprise.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf description {
- type at:description;
- description "description of this enterprise";
- }
-
- list connectivity-service {
- key "connectivity-service";
- leaf connectivity-service {
- type leafref {
- path "/cs:connectivity-service/cs:connectivity-service/cs:id";
- }
- description
- "Link to connectivity services where configuration should be pushed for this enterprise's devices";
- }
- leaf enabled {
- type boolean;
- default true;
- description
- "Allow or disallow pushes to this connectivity service";
- }
- description "The list for connectivity-service";
- }
- }
- }
-}
diff --git a/config-models/aether-4.x/files/yang/onf-ip-domain.yang b/config-models/aether-4.x/files/yang/onf-ip-domain.yang
deleted file mode 100755
index 629256a..0000000
--- a/config-models/aether-4.x/files/yang/onf-ip-domain.yang
+++ /dev/null
@@ -1,104 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-ip-domain {
- namespace "http://opennetworking.org/aether/ip-domain";
- prefix ipd;
-
- import ietf-inet-types { prefix inet; }
- import ietf-yang-types{ prefix yg; }
- import onf-aether-types { prefix at; }
- import onf-enterprise{ prefix ent; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "An Aether IP-Domain. This is a list of available subnets
- that may be assigned to UEs, as well as DNS servers and other
- metadata";
-
- revision "2021-06-02" {
- description "An Aether IP and Domain Specification";
- reference "RFC 6087";
- }
-
- typedef ip-domain-id {
- type yg:yang-identifier {
- length 1..32;
- }
- description "The typedef for ip-domain-id";
- }
-
- container ip-domain {
- description "The top level container";
-
- list ip-domain {
- key "id";
- description
- "List of ip domains";
-
- leaf id {
- type ip-domain-id;
- description "ID for this ip domain.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf dnn {
- type at:dnn;
- mandatory true;
- description "DNN/APN";
- }
-
- leaf dns-primary {
- type inet:ip-address;
- description "primary dns server name";
- }
-
- leaf dns-secondary {
- type inet:ip-address;
- description "secondary dns server name";
- }
-
- // Note: Cannot use a subnet as a list key. Dropped support from a
- // list of subnets to a single subnet. Revisit in the future.
- leaf subnet {
- type inet:ipv4-prefix;
- mandatory true;
- description "subnet to allocate ip addresses from";
- }
-
- leaf admin-status {
- type at:admin-status;
- description "administrative status";
- }
-
- leaf mtu {
- type at:mtu;
- description "maximum transmission unit";
- }
-
- leaf description {
- type at:description;
- description "description of this ip domain";
- }
-
- // Ip-Domain is always owned by an Enterprise, because it contains
- // IP addresses relative to that Enterprise.
- leaf enterprise {
- type leafref {
- path "/ent:enterprise/ent:enterprise/ent:id";
- }
- mandatory true;
- description
- "Link to enterprise that owns this IP-Domain";
- }
- }
- }
-}
diff --git a/config-models/aether-4.x/files/yang/onf-site.yang b/config-models/aether-4.x/files/yang/onf-site.yang
deleted file mode 100755
index 1695a35..0000000
--- a/config-models/aether-4.x/files/yang/onf-site.yang
+++ /dev/null
@@ -1,172 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-site {
- namespace "http://opennetworking.org/aether/site";
- prefix st;
-
- import ietf-inet-types { prefix inet; }
- import ietf-yang-types{ prefix yg; }
- import onf-aether-types{ prefix at; }
- import onf-enterprise{ prefix ent; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "An Aether site is a location where resources are deployed.";
-
- revision "2021-09-10" {
- description "An Aether Site.";
- reference "RFC 6087";
- }
-
- typedef site-id {
- type yg:yang-identifier {
- length 1..32;
- }
- description "The typedef for site-id";
- }
-
- container site {
- description "The top level container";
-
- list site {
- key "id";
- description
- "List of site";
-
- leaf id {
- type site-id;
- description "ID for this site.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- list small-cell {
- key "small-cell-id";
- leaf small-cell-id {
- type yg:yang-identifier;
- description
- "Id of small cell";
- }
- leaf address {
- type inet:host;
- description
- "Address of small cell";
- }
- leaf tac {
- type at:tac;
- mandatory true;
- description
- "Type Allocation Code";
- }
- leaf enable {
- type boolean;
- default true;
- description
- "Enable this small cell";
- }
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
- description
- "List of small cell addresses";
- }
-
- container monitoring {
- leaf edge-cluster-prometheus-url {
- type inet:uri;
- description
- "URL of edge cluster prometheus";
- }
- leaf edge-monitoring-prometheus-url {
- type inet:uri;
- description
- "URL of monitoring prometheus";
- }
- list edge-device {
- key "edge-device-id";
- leaf edge-device-id {
- type yg:yang-identifier;
- description
- "Id of edge monitoring device";
- }
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
- leaf description {
- type at:description;
- description "description of this site";
- }
- description
- "List of edge monitoring devices";
- }
- description
- "container for monitoring";
- }
-
- leaf enterprise {
- type leafref {
- path "/ent:enterprise/ent:enterprise/ent:id";
- }
- mandatory true;
- description
- "Link to enterprise that owns this site";
- }
-
- container imsi-definition {
- leaf mcc {
- type at:mcc;
- mandatory true;
- description "mobile country code";
- }
- leaf mnc {
- type at:mnc;
- mandatory true;
- description "mobile network code";
- }
- leaf enterprise {
- type at:ent;
- mandatory true;
- description "enterprise-specific identifier";
- }
- leaf format {
- type string {
- length 15;
- }
- mandatory true;
- description "IMSI format specifier, describes how fields are packed into an IMSI. Must be exactly 15 characters long. For example, CCCNNNEEESSSSSS.";
- // Format specifiers:
- // C = MCC
- // N = MNC
- // E = Enterprise
- // 0 = Forced Zero
- // S = Subscriber ID
- // default is
- // 3 digit MCC
- // 3 digit MNC
- // 3 digit enterprise ID
- // 5 digit subscriber ID
- }
- description "container for imsi-defination";
- }
-
- leaf description {
- type at:description;
- description "description of this site";
- }
- }
- }
-}
diff --git a/config-models/aether-4.x/files/yang/onf-template.yang b/config-models/aether-4.x/files/yang/onf-template.yang
deleted file mode 100755
index e6af73e..0000000
--- a/config-models/aether-4.x/files/yang/onf-template.yang
+++ /dev/null
@@ -1,104 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-template {
- namespace "http://opennetworking.org/aether/template";
- prefix tp;
-
- import ietf-yang-types{ prefix yg; }
- import onf-aether-types{ prefix at; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "The aether vcs-template holds common parameters used
- by a virtual connectivity service. Templates are used to
- populate a VCS.";
-
- revision "2021-09-10" {
- description "An Aether Virtual Cellular Service Template";
- reference "RFC 6087";
- }
-
- typedef template-id {
- type yg:yang-identifier {
- length 1..32;
- }
- description "The typedef for template-id";
- }
-
- container template {
- description "The top level container";
-
- list template {
- key "id";
- description
- "List of vcs templates";
-
- leaf id {
- type template-id;
- description "ID for this vcs template.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf sst {
- type at:sst;
- description "Slice/Service type";
- }
-
- leaf sd {
- type at:sd;
- description "Slice differentiator";
- }
-
- container slice {
- description "Per-Slice QOS Settings";
- container mbr {
- description "Maximum bitrate";
- leaf uplink {
- type at:bitrate;
- units bps;
- description "Per-Slice MBR uplink data rate in bps";
- }
-
- leaf downlink {
- type at:bitrate;
- units bps;
- description "Per-Slice MBR downlink data rate in bps";
- }
-
- leaf uplink-burst-size {
- type at:burst;
- units bytes;
- description "Per-Slice Uplink burst size";
- }
-
- leaf downlink-burst-size {
- type at:burst;
- units bytes;
- description "Per-Slice Downlink burst size";
- }
- }
- }
-
- leaf default-behavior {
- type at:behavior;
- mandatory true;
- description
- "Default behavior if no filter rules match";
- }
-
- leaf description {
- type at:description;
- description "description of this vcs template";
- }
- }
- }
-}
diff --git a/config-models/aether-4.x/files/yang/onf-traffic-class.yang b/config-models/aether-4.x/files/yang/onf-traffic-class.yang
deleted file mode 100755
index 2d9f135..0000000
--- a/config-models/aether-4.x/files/yang/onf-traffic-class.yang
+++ /dev/null
@@ -1,76 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-traffic-class {
- namespace "http://opennetworking.org/aether/traffic-class";
- prefix tp;
-
- import ietf-yang-types{ prefix yg; }
- import onf-aether-types{ prefix at; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "The aether traffic class associates qos constants
- with a named class of service";
-
- revision "2021-09-10" {
- description "An Aether Traffic Class";
- reference "RFC 6087";
- }
-
- typedef traffic-class-id {
- type yg:yang-identifier {
- length 1..32;
- }
- description "The typedef for traffic-class-id";
- }
-
- container traffic-class {
- description "The top level container";
-
- list traffic-class {
- key "id";
- description
- "List of traffic class";
-
- leaf id {
- type traffic-class-id;
- description "ID for this traffic class.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf arp {
- type at:arp;
- description "Allocation and Retention Priority. 1 is the highest. 15 is the lowest.";
- }
-
- leaf qci {
- type at:qci;
- description "QOS Class Identifier";
- }
-
- leaf pelr {
- type at:pelr;
- description "PELR exponent";
- }
-
- leaf pdb {
- type at:pdb;
- description "PDB";
- }
-
- leaf description {
- type at:description;
- description "description of this traffic class";
- }
- }
- }
-}
diff --git a/config-models/aether-4.x/files/yang/onf-upf.yang b/config-models/aether-4.x/files/yang/onf-upf.yang
deleted file mode 100755
index 4274acb..0000000
--- a/config-models/aether-4.x/files/yang/onf-upf.yang
+++ /dev/null
@@ -1,98 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-upf {
- namespace "http://opennetworking.org/aether/upf";
- prefix upf;
-
- import ietf-inet-types { prefix inet; }
- import ietf-yang-types{ prefix yg; }
- import onf-aether-types { prefix at; }
- import onf-enterprise{ prefix ent; }
- import onf-site{ prefix st; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description "A Aether UPF List is a named User Plane Function.";
-
- revision "2021-09-16" {
- description "An Aether User Plane Function";
- reference "RFC 6087";
- }
-
- typedef upf-id {
- type yg:yang-identifier {
- length 1..32;
- }
- description "The typedef for upf-id";
- }
-
- container upf {
- description "The top level container";
-
- list upf {
- key "id";
- description
- "A list of named upfs.";
-
- leaf id {
- type upf-id;
- description "ID for this upf.";
- }
-
- leaf address {
- type inet:host;
- mandatory true;
- description
- "Address of UPF";
- }
-
- leaf port {
- type inet:port-number;
- mandatory true;
- description
- "Port for UPF";
- }
-
- leaf config-endpoint {
- type inet:uri;
- description "url for configuring the UPF";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- leaf description {
- type at:description;
- description "description of this UPF";
- }
-
- // UPFs are always owned by an Enterprise, since they typically exist on the
- // Enterprise's edge.
- leaf enterprise {
- type leafref {
- path "/ent:enterprise/ent:enterprise/ent:id";
- }
- mandatory true;
- description
- "Link to enterprise that owns this Access Point List";
- }
-
- // UPFs always reside at a site, as the exist on physical infrastructure. GUI
- // will ensure that the tuple (DG, VCS, UPF) all exist on the same site.
- leaf site {
- type leafref {
- path "/st:site/st:site/st:id";
- }
- mandatory true;
- description
- "Link to site";
- }
- }
- }
-}
diff --git a/config-models/aether-4.x/files/yang/onf-vcs.yang b/config-models/aether-4.x/files/yang/onf-vcs.yang
deleted file mode 100755
index 89b8304..0000000
--- a/config-models/aether-4.x/files/yang/onf-vcs.yang
+++ /dev/null
@@ -1,187 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-vcs {
- namespace "http://opennetworking.org/aether/vcs";
- prefix sl;
-
- import ietf-yang-types{ prefix yg; }
- import onf-aether-types{ prefix at; }
- import onf-application{ prefix app; }
- import onf-device-group{ prefix dg; }
- import onf-enterprise{ prefix ent; }
- import onf-upf { prefix upf; }
- import onf-site{ prefix st; }
-
- organization "Open Networking Foundation.";
- contact "Scott Baker";
- description
- "An Aether Virtual Cellular Service (VCS) is
- used to connect devices with applications";
-
- revision "2021-09-10" {
- description "An Aether Virtual Cellular Service";
- reference "RFC 6087";
- }
-
- typedef vcs-id {
- type yg:yang-identifier {
- length 1..32;
- }
- description "The typedef for vcs-id";
- }
-
- container vcs {
- description "The top level container";
-
- list vcs {
- key "id";
- description
- "List of virtual cellular services";
-
- leaf id {
- type vcs-id;
- description "ID for this vcs.";
- }
-
- leaf display-name {
- type string {
- length 1..80;
- }
- description "display name to use in GUI or CLI";
- }
-
- list device-group {
- key "device-group";
- leaf device-group {
- type leafref {
- path "/dg:device-group/dg:device-group/dg:id";
- }
- description
- "Link to device group";
- }
- leaf enable {
- type boolean;
- default true;
- description
- "Enable this device group";
- }
- description
- "A list of device groups. Groups will only participate in
- the VCS if the enable field is set to True";
- }
-
- leaf default-behavior {
- type at:behavior;
- mandatory true;
- description
- "Default behavior if no filter rules match";
- }
-
- list filter {
- key "application";
- leaf application {
- type leafref {
- path "/app:application/app:application/app:id";
- }
- mandatory true;
- description
- "Link to application";
- }
- leaf priority {
- type at:priority;
- default 0;
- description
- "Priority of this application";
- }
- leaf allow {
- type boolean;
- default true;
- description
- "Allow or deny this application";
- }
- description
- "A list of applications to allow and/or deny. Rules are executed in
- priority order. The first rule to match will determine the fate
- of the packet.";
- }
-
- leaf upf {
- type leafref {
- path "/upf:upf/upf:upf/upf:id";
- }
- description
- "Link to user plane that implements this vcf";
- }
-
- leaf description {
- type at:description;
- description "description of this vcs";
- }
-
- leaf enterprise {
- type leafref {
- path "/ent:enterprise/ent:enterprise/ent:id";
- }
- mandatory true;
- description
- "Link to enterprise that owns this VCS";
- }
-
- leaf site {
- type leafref {
- path "/st:site/st:site/st:id";
- }
- mandatory true;
- description
- "Link to site where this VCS is deployed";
- }
-
- // the following are populated from the template
- leaf sst {
- type at:sst;
- mandatory true;
- description "Slice/Service type. Immutable.";
- }
-
- leaf sd {
- type at:sd;
- mandatory true;
- description "Slice differentiator. Immutable.";
- }
-
- container slice {
- description "Per-Slice QOS Settings";
- container mbr {
- description "Maximum bitrate";
- leaf uplink {
- type at:bitrate;
- units bps;
- description "Per-Slice MBR uplink data rate in bps";
- }
-
- leaf downlink {
- type at:bitrate;
- units bps;
- description "Per-Slice MBR downlink data rate in bps";
- }
-
- leaf uplink-burst-size {
- type at:burst;
- units bytes;
- description "Per-Slice Uplink burst size";
- }
-
- leaf downlink-burst-size {
- type at:burst;
- units bytes;
- description "Per-Slice Downlink burst size";
- }
- }
- }
-
- // end of items populated from the template
- }
- }
-}
diff --git a/config-models/aether-4.x/templates/_helpers.tpl b/config-models/aether-4.x/templates/_helpers.tpl
deleted file mode 100644
index bb84c33..0000000
--- a/config-models/aether-4.x/templates/_helpers.tpl
+++ /dev/null
@@ -1,52 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
-SPDX-License-Identifier: Apache-2.0
-
-Expand the name of the chart.
-*/}}
-{{- define "aether.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-If release name contains chart name it will be used as a full name.
-*/}}
-{{- define "aether.fullname" -}}
-{{- if contains "config-model-aether" .Release.Name -}}
-{{- printf "%s-%s" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- printf "%s-%s-config-model-aether" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "aether.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-
-{{/*
-Common labels
-*/}}
-{{- define "aether.labels" -}}
-helm.sh/chart: {{ include "aether.chart" . }}
-{{ include "aether.selectorLabels" . }}
-{{- if .Chart.AppVersion }}
-app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
-{{- end }}
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- end -}}
-
-{{/*
-Selector labels
-*/}}
-{{- define "aether.selectorLabels" -}}
-app.kubernetes.io/name: {{ include "aether.name" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end -}}
-}
diff --git a/config-models/aether-4.x/templates/model.yaml b/config-models/aether-4.x/templates/model.yaml
deleted file mode 100644
index 0369022..0000000
--- a/config-models/aether-4.x/templates/model.yaml
+++ /dev/null
@@ -1,65 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: config.onosproject.org/v1beta1
-kind: Model
-metadata:
- name: {{ template "aether.fullname" . }}
- namespace: {{ .Release.Namespace }}
- labels:
- {{- include "aether.labels" . | nindent 4 }}
-spec:
- plugin:
- type: Aether
- version: {{ .Chart.AppVersion | quote }}
- modules:
- - name: connectivity-service
- organization: Open Networking Foundation
- revision: 2021-10-21
- file: onf-connectivity-service.yang
- - name: enterprise
- organization: Open Networking Foundation
- revision: 2021-06-02
- file: onf-enterprise.yang
- - name: aether-types
- organization: Open Networking Foundation
- revision: 2021-09-10
- file: onf-aether-types.yang
- - name: application
- organization: Open Networking Foundation
- revision: 2021-09-10
- file: onf-application.yang
- - name: device-group
- organization: Open Networking Foundation
- revision: 2021-06-02
- file: onf-device-group.yang
- - name: ip-domain
- organization: Open Networking Foundation
- revision: 2021-06-02
- file: onf-ip-domain.yang
- - name: site
- organization: Open Networking Foundation
- revision: 2021-09-10
- file: onf-site.yang
- - name: upf-list
- organization: Open Networking Foundation
- revision: 2021-09-16
- file: onf-upf.yang
- - name: vcs
- organization: Open Networking Foundation
- revision: 2021-09-10
- file: onf-vcs.yang
- - name: template
- organization: Open Networking Foundation
- revision: 2021-09-10
- file: onf-template.yang
- - name: traffic-class
- organization: Open Networking Foundation
- revision: 2021-06-02
- file: onf-traffic-class.yang
- files:
- {{- range $path, $_ := $.Files.Glob "files/yang/*.yang" }}
- {{ base $path }}: |
-{{ $.Files.Get $path | indent 6 }}
- {{- end }}
diff --git a/config-models/aether-4.x/values.yaml b/config-models/aether-4.x/values.yaml
deleted file mode 100644
index aec2bd5..0000000
--- a/config-models/aether-4.x/values.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-# SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
diff --git a/config-models/plproxy-1.x/Chart.yaml b/config-models/plproxy-1.x/Chart.yaml
deleted file mode 100755
index 3effdd4..0000000
--- a/config-models/plproxy-1.x/Chart.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: v2
-name: config-model-plproxy
-version: 1.0.2
-kubeVersion: ">=1.18.0"
-appVersion: 1.0.0
-description: Prom label proxy config model
-keywords:
- - plproxy
- - config
-home: https://onosproject.org
-maintainers:
- - name: ONOS Support
- email: support@opennetworking.org
diff --git a/config-models/plproxy-1.x/files/plproxy-1.0.0.tree b/config-models/plproxy-1.x/files/plproxy-1.0.0.tree
deleted file mode 100755
index 9b0fbaa..0000000
--- a/config-models/plproxy-1.x/files/plproxy-1.0.0.tree
+++ /dev/null
@@ -1,7 +0,0 @@
-module: prom-label-proxy
- +--rw user-groups
- +--rw user-group* [name]
- +--rw name string
- +--rw label* [name]
- +--rw name string
- +--rw value string
diff --git a/config-models/plproxy-1.x/files/yang/prom-label-proxy.yang b/config-models/plproxy-1.x/files/yang/prom-label-proxy.yang
deleted file mode 100755
index 4bfa3a7..0000000
--- a/config-models/plproxy-1.x/files/yang/prom-label-proxy.yang
+++ /dev/null
@@ -1,33 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module prom-label-proxy {
- namespace "http://opennetworking.org/promlabelproxy/config/";
- prefix plp;
-
- organization "Open Networking Foundation.";
- contact "Amit Wankhede";
- description "A Aether groups and prom label configuration";
-
- revision "2021-09-24" {
- description "Prom label proxy user configuration";
- reference "RFC 6087";
- }
-
- container user-groups {
- description "The top level container";
- list user-group {
- key "name";
- description "A list of user groups";
- leaf name { type string;description "name of user group";}
- list label {
- key "name";
- description "A list of labels";
- leaf name { type string;mandatory true;description "name of label";}
- leaf value { type string;mandatory true;description "value of label";}
- }
- }
- }
-
-}
diff --git a/config-models/plproxy-1.x/templates/_helpers.tpl b/config-models/plproxy-1.x/templates/_helpers.tpl
deleted file mode 100755
index 4b28369..0000000
--- a/config-models/plproxy-1.x/templates/_helpers.tpl
+++ /dev/null
@@ -1,53 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Expand the name of the chart.
-*/}}
-{{- define "plproxy.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-If release name contains chart name it will be used as a full name.
-*/}}
-{{- define "plproxy.fullname" -}}
-{{- if contains "config-model-plproxy" .Release.Name -}}
-{{- printf "%s-%s" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- printf "%s-%s-config-model-plproxy" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "plproxy.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-
-{{/*
-Common labels
-*/}}
-{{- define "plproxy.labels" -}}
-helm.sh/chart: {{ include "plproxy.chart" . }}
-{{ include "plproxy.selectorLabels" . }}
-{{- if .Chart.AppVersion }}
-app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
-{{- end }}
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- end -}}
-
-{{/*
-Selector labels
-*/}}
-{{- define "plproxy.selectorLabels" -}}
-app.kubernetes.io/name: {{ include "plproxy.name" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end -}}
-}
diff --git a/config-models/plproxy-1.x/templates/model.yaml b/config-models/plproxy-1.x/templates/model.yaml
deleted file mode 100755
index b467cb8..0000000
--- a/config-models/plproxy-1.x/templates/model.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: config.onosproject.org/v1beta1
-kind: Model
-metadata:
- name: {{ template "plproxy.fullname" . }}
- namespace: {{ .Release.Namespace }}
- labels:
- {{- include "plproxy.labels" . | nindent 4 }}
-spec:
- plugin:
- type: PLProxy
- version: {{ .Chart.AppVersion | quote }}
- modules:
- - name: plproxy-service
- organization: Open Networking Foundation
- revision: 2021-09-24
- file: prom-label-proxy.yang
- files:
- {{- range $path, $_ := $.Files.Glob "files/yang/*.yang" }}
- {{ base $path }}: |
-{{ $.Files.Get $path | indent 6 }}
- {{- end }}
diff --git a/config-models/plproxy-1.x/values.yaml b/config-models/plproxy-1.x/values.yaml
deleted file mode 100755
index aec2bd5..0000000
--- a/config-models/plproxy-1.x/values.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-# SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0