| 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) {} |
| } |