Commit 1ede7bb3 authored by Antonio Gines Buendia Lopez's avatar Antonio Gines Buendia Lopez
Browse files

Working on proto definition

parent f8633bcc
Loading
Loading
Loading
Loading
+46 −41
Original line number Diff line number Diff line
@@ -16,6 +16,34 @@ syntax = "proto3";
package pathcompextended;

import "context.proto";
import "google/protobuf/empty.proto";



service PathCompExtendedService {
  // Health checks
  rpc HealthCheck (google.protobuf.Empty) returns (LivenessProbe);

  // Network Context
  rpc CreateNetworkContext (NetworkContext) returns (google.protobuf.Empty);
  rpc DeleteNetworkContext (UUID) returns (google.protobuf.Empty);
  rpc GetNetworkContext (google.protobuf.Empty) returns (NetworkContext);
  rpc GetSpecificNetworkContext (UUID) returns (NetworkTopology);

  // Transport Optical Slice
  rpc CreateTransportOpticalSlice (IetfNetworkSlice) returns (TransportOpticalSlice);
  rpc DeleteTransportOpticalSlice (UUID) returns (google.protobuf.Empty);
  rpc GetTransportOpticalSlices (google.protobuf.Empty) returns (stream TransportOpticalSlice);
  rpc GetTransportOpticalSlice (UUID) returns (TransportOpticalSlice);

  // Transport Network Slice L3
  rpc CreateTransportNetworkSliceL3 (IetfNetworkSlice) returns (TransportNetworkSliceL3);
  rpc DeleteTransportNetworkSliceL3 (UUID) returns (google.protobuf.Empty);
  rpc GetTransportNetworkSlicesL3 (google.protobuf.Empty) returns (stream TransportNetworkSliceL3);
  rpc GetTransportNetworkSliceL3 (UUID) returns (TransportNetworkSliceL3);


}



@@ -47,55 +75,32 @@ message NetworkContext {
}

// IETF Network Slice
message IetfNetworkSlice {
  string raw_json_slice = 1;
}


// Transport Actions Model













// OLD LEGACY

service PathCompExtendedService {
  rpc Compute(PathCompRequest) returns (PathCompReply) {}
// Transport Actions Model
message TransportOpticalSlice {
  UUID transport_optical_slice_uuid = 1;
  bool viability = 2;
  string raw_optical_slice_json = 3;
}

message Algorithm_ShortestPath {}

message Algorithm_KShortestPath {
  uint32 k_inspection = 1;
  uint32 k_return     = 2;
message TransportNetworkSliceL3 {
  UUID transport_optical_slice_uuid = 1;
  UUID transport_network_slice_l3_uuid = 2;
  bool viability = 3;
  string raw_actions_json = 4;
}

message Algorithm_KDisjointPath {
  uint32 num_disjoint = 1;
// Generic
message LivenessProbe{
  bool alive = 1;
}

message PathCompRequest {
  repeated context.Service services = 1;
  oneof algorithm {
    Algorithm_ShortestPath  shortest_path   = 10;
    Algorithm_KShortestPath k_shortest_path = 11;
    Algorithm_KDisjointPath k_disjoint_path = 12;
  }
message UUID {
  string value = 1;
}
message PathCompReply {
  // Services requested completed with possible missing fields, and
  // sub-services required for supporting requested services on the
  // underlying layers.
  repeated context.Service services = 1;

  // Connections supporting the requested services and sub-services
  // required for the underlying layers.
  repeated context.Connection connections = 2;
}