blob: ebfefc337300b5c647ced9cf0c5f3924e940c214 [file] [log] [blame]
William Kurkian6ea97f82019-03-13 15:51:55 -04001syntax = "proto3";
2
Matteo Scandolob3c08ae2020-10-14 13:15:43 -07003option go_package = "github.com/opencord/voltha-protos/v4/go/voltha";
Serkant Uluderyacbcfaa42019-10-18 13:25:08 +03004option java_package = "org.opencord.voltha";
William Kurkian6ea97f82019-03-13 15:51:55 -04005
6package voltha;
7
8import "google/protobuf/empty.proto";
9import "voltha_protos/openflow_13.proto";
10
11
12message PonSimOnuDeviceInfo {
13 int32 uni_port = 1;
14 string serial_number = 2;
15}
16
17message PonSimDeviceInfo {
18 int32 nni_port = 1;
19 repeated PonSimOnuDeviceInfo onus = 2;
20}
21
22message FlowTable {
23 int32 port = 1; // Used to address right device
24 repeated openflow_13.ofp_flow_stats flows = 2;
25}
26
27message PonSimFrame {
28 string id = 1;
29 bytes payload = 2;
30 int32 out_port = 3;
31}
32
33message PonSimPacketCounter {
34 string name = 1;
35 int64 value = 2;
36}
37
38message PonSimPortMetrics {
39 string port_name = 1;
40 repeated PonSimPacketCounter packets = 2;
41}
42
43message PonSimMetrics {
44 string device = 1;
45 repeated PonSimPortMetrics metrics = 2;
46}
47
48message PonSimMetricsRequest {
49 int32 port = 1;
50}
51
52service PonSim {
53 rpc SendFrame(PonSimFrame)
54 returns (google.protobuf.Empty) {}
55
56 rpc ReceiveFrames(google.protobuf.Empty)
57 returns (stream PonSimFrame) {}
58
59 rpc GetDeviceInfo(google.protobuf.Empty)
60 returns(PonSimDeviceInfo) {}
61
62 rpc UpdateFlowTable(FlowTable)
63 returns(google.protobuf.Empty) {}
64
65 rpc GetStats(google.protobuf.Empty)
66 returns(PonSimMetrics) {}
67
68}