blob: 3ea77674401d37af8763f9e25aa550e2704cc5dd [file] [log] [blame]
Zsolt Haraszti656ecc62016-12-28 15:08:23 -08001syntax = "proto3";
2
3package voltha;
4
5import "google/protobuf/empty.proto";
6import "openflow_13.proto";
Nikolay Titov89004ec2017-06-19 18:22:42 -04007import "bbf_fiber_base.proto";
Zsolt Haraszti656ecc62016-12-28 15:08:23 -08008
9message PonSimDeviceInfo {
10 int32 nni_port = 1;
11 repeated int32 uni_ports = 2;
12}
13
14message FlowTable {
15 int32 port = 1; // Used to address right device
16 repeated openflow_13.ofp_flow_stats flows = 2;
17}
18
Sergio Slobodrian98eff412017-03-15 14:46:30 -040019message PonSimPacketCounter {
20 string name = 1;
21 int64 value = 2;
22}
23
24message PonSimPortMetrics {
25 string port_name = 1;
26 repeated PonSimPacketCounter packets = 2;
27}
28
29message PonSimMetrics {
30 string device = 1;
31 repeated PonSimPortMetrics metrics = 2;
32}
33
Nikolay Titov89004ec2017-06-19 18:22:42 -040034message InterfaceConfig
35{
36 oneof interface_type
37 {
38 bbf_fiber.ChannelgroupConfig channel_group_config = 1;
39 bbf_fiber.ChannelpartitionConfig channel_partition_config = 2;
40 bbf_fiber.ChannelpairConfig channel_pair_config = 3;
41 bbf_fiber.ChannelterminationConfig channel_termination_config = 4;
42 bbf_fiber.OntaniConfig ont_ani_config = 5;
43 bbf_fiber.VOntaniConfig vont_ani_config = 6;
44 bbf_fiber.VEnetConfig venet_config = 7;
45 }
46}
Sergio Slobodrian98eff412017-03-15 14:46:30 -040047
Zsolt Haraszti656ecc62016-12-28 15:08:23 -080048service PonSim {
49
50 rpc GetDeviceInfo(google.protobuf.Empty)
51 returns(PonSimDeviceInfo) {}
52
53 rpc UpdateFlowTable(FlowTable)
54 returns(google.protobuf.Empty) {}
55
Sergio Slobodrian98eff412017-03-15 14:46:30 -040056 rpc GetStats(google.protobuf.Empty)
57 returns(PonSimMetrics) {}
Nikolay Titov89004ec2017-06-19 18:22:42 -040058
59}
60
61service XPonSim
62{
63 rpc CreateInterface(InterfaceConfig)
64 returns(google.protobuf.Empty) {}
65
66 rpc UpdateInterface(InterfaceConfig)
67 returns(google.protobuf.Empty) {}
68
69 rpc RemoveInterface(InterfaceConfig)
70 returns(google.protobuf.Empty) {}
Zsolt Haraszti656ecc62016-12-28 15:08:23 -080071}