blob: 738bd3eeacba171fc54799dcb2d30614d9458596 [file] [log] [blame]
khenaidoo4c6543e2021-10-19 17:25:58 -04001syntax = "proto3";
2
3option go_package = "github.com/opencord/voltha-protos/v5/go/core_service";
4option java_package = "org.opencord.voltha.core_service";
5option java_outer_classname = "VolthaCoreService";
6
7package core_service;
8
9import "google/protobuf/empty.proto";
10import "voltha_protos/core_adapter.proto";
11import "voltha_protos/common.proto";
12import "voltha_protos/device.proto";
13import "voltha_protos/health.proto";
14
15// The CoreService is a gRPC service implemented by the Voltha RW-Core for the
16// sole purpose of serving requests/updates from the Voltha adapters.
17service CoreService {
khenaidoo257f3192021-12-15 16:46:37 -050018 // GetHealthStatus is used by a CoreService client to verify connectivity
19 // to the gRPC server hosting the CoreService service
20 rpc GetHealthStatus(stream common.Connection) returns (stream health.HealthStatus);
21
khenaidoo4c6543e2021-10-19 17:25:58 -040022 rpc RegisterAdapter (core_adapter.AdapterRegistration) returns (google.protobuf.Empty);
23 rpc DeviceUpdate (device.Device) returns (google.protobuf.Empty);
24 rpc PortCreated (device.Port) returns (google.protobuf.Empty);
25 rpc PortsStateUpdate (core_adapter.PortStateFilter) returns (google.protobuf.Empty);
26 rpc DeleteAllPorts (common.ID) returns (google.protobuf.Empty);
27 rpc GetDevicePort (core_adapter.PortFilter) returns (device.Port);
28 rpc ListDevicePorts (common.ID) returns (device.Ports);
29 rpc DeviceStateUpdate (core_adapter.DeviceStateFilter) returns (google.protobuf.Empty);
30 rpc DevicePMConfigUpdate (device.PmConfigs) returns (google.protobuf.Empty);
31 rpc ChildDeviceDetected (core_adapter.DeviceDiscovery) returns (device.Device);
32 rpc ChildDevicesLost (common.ID) returns (google.protobuf.Empty);
33 rpc ChildDevicesDetected (common.ID) returns (google.protobuf.Empty);
34 rpc GetDevice (common.ID) returns (device.Device);
35 rpc GetChildDevice (core_adapter.ChildDeviceFilter) returns (device.Device);
36 rpc GetChildDevices (common.ID) returns (device.Devices);
37 rpc SendPacketIn (core_adapter.PacketIn) returns (google.protobuf.Empty);
38 rpc DeviceReasonUpdate (core_adapter.DeviceReason) returns (google.protobuf.Empty);
39 rpc PortStateUpdate (core_adapter.PortState) returns (google.protobuf.Empty);
40
41 // Additional API found in the Core - unused?
42 rpc ReconcileChildDevices (common.ID) returns (google.protobuf.Empty);
43 rpc GetChildDeviceWithProxyAddress (device.Device.ProxyAddress) returns (device.Device);
44 rpc GetPorts (core_adapter.PortFilter) returns (device.Ports);
45 rpc ChildrenStateUpdate (core_adapter.DeviceStateFilter) returns (google.protobuf.Empty);
46 rpc UpdateImageDownload (device.ImageDownload) returns (google.protobuf.Empty);
47}