Skip to content
Snippets Groups Projects
pathcomp.proto 1.56 KiB
Newer Older
  • Learn to ignore specific revisions
  • // Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
    
    Lluis Gifre Renom's avatar
    Lluis Gifre Renom committed
    //
    // 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 pathcomp;
    
    import "context.proto";
    
    service PathCompService {
      rpc Compute(PathCompRequest) returns (PathCompReply) {}
    }
    
    
    Lluis Gifre Renom's avatar
    Lluis Gifre Renom committed
    message Algorithm_ShortestPath {}
    
    message Algorithm_KShortestPath {
      uint32 k_inspection = 1;
      uint32 k_return     = 2;
    }
    
    
    Lluis Gifre Renom's avatar
    Lluis Gifre Renom committed
    message Algorithm_KDisjointPath {
      uint32 num_disjoint = 1;
    }
    
    
    Lluis Gifre Renom's avatar
    Lluis Gifre Renom committed
    message PathCompRequest {
      repeated context.Service services = 1;
    
    Lluis Gifre Renom's avatar
    Lluis Gifre Renom committed
      oneof algorithm {
        Algorithm_ShortestPath  shortest_path   = 10;
        Algorithm_KShortestPath k_shortest_path = 11;
    
    Lluis Gifre Renom's avatar
    Lluis Gifre Renom committed
        Algorithm_KDisjointPath k_disjoint_path = 12;
    
    Lluis Gifre Renom's avatar
    Lluis Gifre Renom committed
      }
    
    Lluis Gifre Renom's avatar
    Lluis Gifre Renom committed
    }
    
    message PathCompReply {
    
    Lluis Gifre Renom's avatar
    Lluis Gifre Renom committed
      // 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;