blob: 3ea77674401d37af8763f9e25aa550e2704cc5dd [file] [log] [blame]
syntax = "proto3";
package voltha;
import "google/protobuf/empty.proto";
import "openflow_13.proto";
import "bbf_fiber_base.proto";
message PonSimDeviceInfo {
int32 nni_port = 1;
repeated int32 uni_ports = 2;
}
message FlowTable {
int32 port = 1; // Used to address right device
repeated openflow_13.ofp_flow_stats flows = 2;
}
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 InterfaceConfig
{
oneof interface_type
{
bbf_fiber.ChannelgroupConfig channel_group_config = 1;
bbf_fiber.ChannelpartitionConfig channel_partition_config = 2;
bbf_fiber.ChannelpairConfig channel_pair_config = 3;
bbf_fiber.ChannelterminationConfig channel_termination_config = 4;
bbf_fiber.OntaniConfig ont_ani_config = 5;
bbf_fiber.VOntaniConfig vont_ani_config = 6;
bbf_fiber.VEnetConfig venet_config = 7;
}
}
service PonSim {
rpc GetDeviceInfo(google.protobuf.Empty)
returns(PonSimDeviceInfo) {}
rpc UpdateFlowTable(FlowTable)
returns(google.protobuf.Empty) {}
rpc GetStats(google.protobuf.Empty)
returns(PonSimMetrics) {}
}
service XPonSim
{
rpc CreateInterface(InterfaceConfig)
returns(google.protobuf.Empty) {}
rpc UpdateInterface(InterfaceConfig)
returns(google.protobuf.Empty) {}
rpc RemoveInterface(InterfaceConfig)
returns(google.protobuf.Empty) {}
}