MulticastRouteService.proto 920 Bytes
syntax = "proto3";
option java_package = "org.onosproject.grpc.net.mcast";

package Multicast;

// TODO move model objects to common protobuf package

message ConnectPoint {
  string deviceId = 1;
  uint64 portNumber = 2;
}

enum MulticastRouteType {
  PIM = 0;
  IGMP = 1;
  STATIC = 2;
}

enum MulticastOperationResult {
  SUCCESS = 0;
  FAIL = 1;
}

enum MulticastOperation {
  ADD_ROUTE = 0;
  ADD_SOURCE = 1;
  ADD_SINK = 2;
  REMOVE_ROUTE = 3;
  REMOVE_SOURCE = 4;
  REMOVE_SINK = 5;
}

message MulticastRoute {
  fixed32 source = 1; // TODO assumes ipv4
  fixed32 group = 2;
  MulticastRouteType type = 3;
}

message MulticastReply {
  MulticastOperationResult result = 1;
}

message MulticastRequest {
  MulticastOperation operation = 1;
  MulticastRoute route = 2;
  ConnectPoint connectPoint = 3;
}

service MulticastRouteService {
  rpc operation(stream MulticastRequest) returns (stream MulticastReply) {}
}