From f986805dda6e3edcee224ad726e3f9d160285e36 Mon Sep 17 00:00:00 2001 From: hajipour <shajipour@cttc.es> Date: Mon, 5 Aug 2024 13:31:57 +0200 Subject: [PATCH] QoSProfile protobuf update: - QoSProfile messages and rpcs added to context.proto for QoSProfile database support - qos_profile.proto added for QoSProfile component --- proto/context.proto | 37 +++++++++++++++++++++++++++++++++++++ proto/qos_profile.proto | 26 ++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 proto/qos_profile.proto diff --git a/proto/context.proto b/proto/context.proto index 87f69132d..d23a46a48 100644 --- a/proto/context.proto +++ b/proto/context.proto @@ -68,6 +68,12 @@ service ContextService { rpc GetSliceEvents (Empty ) returns (stream SliceEvent ) {} rpc SelectSlice (SliceFilter ) returns ( SliceList ) {} + rpc CreateQoSProfile (QoSProfile ) returns (QoSProfile ) {} + rpc UpdateQoSProfile (QoSProfile ) returns (QoSProfile ) {} + rpc DeleteQoSProfile (QoSProfileId ) returns (Empty ) {} + rpc GetQoSProfile (QoSProfileId ) returns (QoSProfile ) {} + rpc GetQoSProfiles (Empty ) returns (stream QoSProfile) {} + rpc ListConnectionIds (ServiceId ) returns ( ConnectionIdList) {} rpc ListConnections (ServiceId ) returns ( ConnectionList ) {} rpc GetConnection (ConnectionId ) returns ( Connection ) {} @@ -402,6 +408,37 @@ message SliceEvent { SliceId slice_id = 2; } + +// ----- QoSProfile ---------------------------------------------------------------------------------------------------- +message QoSProfileId { + Uuid qos_profile_id = 1; +} + +message QoSProfileValueUnitPair { + int32 value = 1; + string unit = 2; +} + +message QoSProfile { + QoSProfileId qos_profile_id = 1; + string name = 2; + string description = 3; + string status = 4; + QoSProfileValueUnitPair targetMinUpstreamRate = 5; + QoSProfileValueUnitPair maxUpstreamRate = 6; + QoSProfileValueUnitPair maxUpstreamBurstRate = 7; + QoSProfileValueUnitPair targetMinDownstreamRate = 8; + QoSProfileValueUnitPair maxDownstreamRate = 9; + QoSProfileValueUnitPair maxDownstreamBurstRate = 10; + QoSProfileValueUnitPair minDuration = 11; + QoSProfileValueUnitPair maxDuration = 12; + int32 priority = 13; + QoSProfileValueUnitPair packetDelayBudget = 14; + QoSProfileValueUnitPair jitter = 15; + int32 packetErrorLossRate = 16; +} + + // ----- Connection ---------------------------------------------------------------------------------------------------- message ConnectionId { Uuid connection_uuid = 1; diff --git a/proto/qos_profile.proto b/proto/qos_profile.proto new file mode 100644 index 000000000..8e1fc80a3 --- /dev/null +++ b/proto/qos_profile.proto @@ -0,0 +1,26 @@ +// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; +package qos_profile; + +import "context.proto"; + +service QoSProfileService { + rpc CreateQoSProfile (context.QoSProfile ) returns (context.QoSProfile ) {} + rpc UpdateQoSProfile (context.QoSProfile ) returns (context.QoSProfile ) {} + rpc DeleteQoSProfile (context.QoSProfileId) returns (context.Empty ) {} + rpc GetQoSProfile (context.QoSProfileId) returns (context.QoSProfile ) {} + rpc GetQoSProfiles (context.Empty ) returns (stream context.QoSProfile) {} +} -- GitLab