// 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.
// protocol buffers documentation: https://developers.google.com/protocol-buffers/docs/proto3
syntax = "proto3";
package orchestrator;
import "context.proto";
service E2EOrchestratorService {
rpc Compute(E2EOrchestratorRequest) returns (E2EOrchestratorReply) {}
}
message E2EOrchestratorRequest {
context.Service service = 1;
}
message E2EOrchestratorReply {
// Service requested completed with possible missing fields, and
// sub-services required for supporting requested service on the
// underlying layers.
repeated context.Service services = 1;
// Connections supporting the requested service and sub-services
// required for the underlying layers.
repeated context.Connection connections = 2;
}
\ No newline at end of file
// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
// 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.
......@@ -18,28 +18,27 @@ package forecaster;
import "context.proto";
service ForecasterService {
rpc GetForecastOfTopology (context.TopologyId) returns (Forecast) {}
rpc GetForecastOfLink(context.LinkId) returns (Forecast) {}
rpc CheckService (context.ServiceId) returns (ForecastPrediction) {}
rpc ForecastLinkCapacity (ForecastLinkCapacityRequest ) returns (ForecastLinkCapacityReply ) {}
rpc ForecastTopologyCapacity(ForecastTopologyCapacityRequest) returns (ForecastTopologyCapacityReply) {}
}
message SingleForecast {
context.Timestamp timestamp= 1;
double value = 2;
message ForecastLinkCapacityRequest {
context.LinkId link_id = 1;
float forecast_window_seconds = 2;
}
message Forecast {
oneof uuid {
context.TopologyId topologyId= 1;
context.LinkId linkId = 2;
}
repeated SingleForecast forecast = 3;
message ForecastLinkCapacityReply {
context.LinkId link_id = 1;
float total_capacity_gbps = 2;
float current_used_capacity_gbps = 3;
float forecast_used_capacity_gbps = 4;
}
enum AvailabilityPredictionEnum {
FORECASTED_AVAILABILITY = 0;
FORECASTED_UNAVAILABILITY = 1;
message ForecastTopologyCapacityRequest {
context.TopologyId topology_id = 1;
float forecast_window_seconds = 2;
}
message ForecastPrediction {
AvailabilityPredictionEnum prediction = 1;
message ForecastTopologyCapacityReply {
repeated ForecastLinkCapacityReply link_capacities = 1;
}
#!/bin/bash -eu
# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
# 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.
......
#!/bin/bash -eu
# 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.
export JAVA_COMPONENTS="ztp policy"
export TFS_ROOT_DIR=$(dirname $(dirname $(realpath $0)))
for COMPONENT in $JAVA_COMPONENTS; do
echo "\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/"
echo
echo "[TFS] Now building" $COMPONENT
echo
echo "\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/"
cd $TFS_ROOT_DIR/src/$COMPONENT
./mvnw spotless:apply
./mvnw install -DskipUTs
done
#!/bin/bash -eu
# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
# 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.
......@@ -20,7 +20,7 @@ mkdir -p src/python
rm -rf src/python/*.py
tee src/python/__init__.py << EOF > /dev/null
# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
# 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.
......
#!/bin/bash
# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
# 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.
......
// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
// 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.
......
// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
// 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.
......
// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
// 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.
......@@ -17,18 +17,26 @@ package kpi_sample_types;
enum KpiSampleType {
KPISAMPLETYPE_UNKNOWN = 0;
KPISAMPLETYPE_PACKETS_TRANSMITTED = 101;
KPISAMPLETYPE_PACKETS_RECEIVED = 102;
KPISAMPLETYPE_PACKETS_DROPPED = 103;
KPISAMPLETYPE_BYTES_TRANSMITTED = 201;
KPISAMPLETYPE_BYTES_RECEIVED = 202;
KPISAMPLETYPE_BYTES_DROPPED = 203;
KPISAMPLETYPE_LINK_TOTAL_CAPACITY_GBPS = 301;
KPISAMPLETYPE_LINK_USED_CAPACITY_GBPS = 302;
KPISAMPLETYPE_ML_CONFIDENCE = 401; //. can be used by both optical and L3 without any issue
KPISAMPLETYPE_OPTICAL_SECURITY_STATUS = 501; //. can be used by both optical and L3 without any issue
KPISAMPLETYPE_L3_UNIQUE_ATTACK_CONNS = 601;
KPISAMPLETYPE_L3_TOTAL_DROPPED_PACKTS = 602;
KPISAMPLETYPE_L3_UNIQUE_ATTACKERS = 603;
KPISAMPLETYPE_L3_UNIQUE_COMPROMISED_CLIENTS = 604;
KPISAMPLETYPE_L3_SECURITY_STATUS_CRYPTO = 605;
KPISAMPLETYPE_SERVICE_LATENCY_MS = 701;
}
// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
// 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.
......
// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
// 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.
......
// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
// 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.
......
// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
// 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.
......@@ -49,6 +49,7 @@ message KpiDescriptor {
context.ServiceId service_id = 7;
context.SliceId slice_id = 8;
context.ConnectionId connection_id = 9;
context.LinkId link_id = 10;
}
message MonitorKpiRequest {
......
// 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 nbi;
import "context.proto";
service NbiService {
rpc CheckCredentials (context.TeraFlowController) returns (context.AuthenticationResult) {}
rpc GetConnectivityServiceStatus (context.ServiceId ) returns (context.ServiceStatus ) {}
rpc CreateConnectivityService (context.Service ) returns (context.ServiceId ) {}
rpc EditConnectivityService (context.Service ) returns (context.ServiceId ) {}
rpc DeleteConnectivityService (context.Service ) returns (context.Empty ) {}
rpc GetAllActiveConnectivityServices (context.Empty ) returns (context.ServiceIdList ) {}
rpc ClearAllConnectivityServices (context.Empty ) returns (context.Empty ) {}
}
// 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 openconfig_device;
import "context.proto";
service OpenConfigService {
rpc AddOpenConfigDevice (context.OpticalConfig) returns (context.OpticalConfigId) {}
rpc ConfigureOpticalDevice(context.OpticalConfig) returns (context.Empty ) {}
}
// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
// 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.
......
// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
// 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.
......
// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
// 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.
......
// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
// 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.
......
// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
// 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.
......