blob: d4cbaa24ec6efca833cf722123b8202d5f43530f [file] [log] [blame]
syntax = "proto3";
option go_package = "github.com/opencord/voltha-protos/go/voltha";
package voltha;
import "google/protobuf/empty.proto";
import "voltha_protos/openflow_13.proto";
message PonSimOnuDeviceInfo {
int32 uni_port = 1;
string serial_number = 2;
}
message PonSimDeviceInfo {
int32 nni_port = 1;
repeated PonSimOnuDeviceInfo onus = 2;
}
message FlowTable {
int32 port = 1; // Used to address right device
repeated openflow_13.ofp_flow_stats flows = 2;
}
message PonSimFrame {
string id = 1;
bytes payload = 2;
int32 out_port = 3;
}
message PonSimPacketCounter {
string name = 1;
int64 value = 2;
}
message PonSimPortMetrics {
string port_name = 1;
repeated PonSimPacketCounter packets = 2;
}
message PonSimMetrics {
string device = 1;
repeated PonSimPortMetrics metrics = 2;
}
message PonSimMetricsRequest {
int32 port = 1;
}
service PonSim {
rpc SendFrame(PonSimFrame)
returns (google.protobuf.Empty) {}
rpc ReceiveFrames(google.protobuf.Empty)
returns (stream PonSimFrame) {}
rpc GetDeviceInfo(google.protobuf.Empty)
returns(PonSimDeviceInfo) {}
rpc UpdateFlowTable(FlowTable)
returns(google.protobuf.Empty) {}
rpc GetStats(google.protobuf.Empty)
returns(PonSimMetrics) {}
}