blob: d372f93a4c065eab47da02351278876434595a11 [file] [log] [blame]
Joey Armstrong25589d82024-01-02 22:31:35 -05001// Copyright 2018-2024 Open Networking Foundation (ONF) and the ONF Contributors
amit.ghosh9f6af0e2020-11-04 14:09:25 +01002//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at:
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15syntax = "proto3";
16
khenaidoo5fc5cea2021-08-11 17:39:16 -040017option go_package = "github.com/opencord/voltha-protos/v5/go/extension";
amit.ghosh9f6af0e2020-11-04 14:09:25 +010018option java_package = "org.opencord.voltha.extension";
19
20package extension;
21
khenaidoo4c6543e2021-10-19 17:25:58 -040022import "voltha_protos/ext_config.proto";
kesavand763d8002021-01-04 16:24:42 +053023import "google/protobuf/empty.proto";
amit.ghosh9f6af0e2020-11-04 14:09:25 +010024
khenaidoo4c6543e2021-10-19 17:25:58 -040025message ValueSet {
26 string id = 1;
27 oneof value{
28 config.AlarmConfig alarm_config = 2;
29 }
30}
31
32message ValueType {
33 enum Type {
34 EMPTY = 0;
35 DISTANCE = 1;
36 }
37}
38
39message ValueSpecifier {
40 string id = 1;
41 ValueType.Type value = 2;
42}
43
44message ReturnValues {
45 uint32 Set = 1; // Specifies what values are
46 // set/valid in return
47
48 uint32 Unsupported = 2; // Specifies requested values not
49 // supported by the device
50
51 uint32 Error = 3; // Specifies requested values not
52 // fetched because of error
53
54 uint32 Distance = 4; // Value of distance Set includes
55 // DISTANCE
56
57}
58
amit.ghosh9f6af0e2020-11-04 14:09:25 +010059message GetDistanceRequest {
60 string onuDeviceId = 1;
61}
62
63message GetDistanceResponse {
64 uint32 distance = 1; // distance in meters
65}
66
67message GetOnuUniInfoRequest {
68 uint32 uniIndex = 1; // Index of the uni starting from 0
69}
70
71message GetOnuUniInfoResponse {
72 enum ConfigurationInd {
73 UNKOWN = 0;
74 TEN_BASE_T_FDX = 1;
75 HUNDRED_BASE_T_FDX = 2;
76 GIGABIT_ETHERNET_FDX = 3;
77 TEN_G_ETHERNET_FDX = 4;
78 TEN_BASE_T_HDX = 5;
79 HUNDRED_BASE_T_HDX = 6;
80 GIGABIT_ETHERNET_HDX = 7;
81 }
82
83 enum AdministrativeState {
84 ADMSTATE_UNDEFINED = 0;
85 LOCKED = 1;
86 UNLOCKED = 2;
87 }
88
89 enum OperationalState {
90 OPERSTATE_UNDEFINED = 0;
91 ENABLED = 1;
92 DISABLED = 2;
93 }
94
95 AdministrativeState admState = 1;
96 OperationalState operState = 2;
97 ConfigurationInd configInd = 3;
98}
99
kesavand763d8002021-01-04 16:24:42 +0530100message GetOltPortCounters {
101 enum PortType {
102 Port_UNKNOWN = 0;
103 Port_ETHERNET_NNI = 1;
104 Port_PON_OLT = 2;
105 }
106 uint32 portNo = 1; // Device-unique port number
107 PortType portType = 2;
108}
109
110message GetOltPortCountersResponse {
111 uint64 txBytes = 1;
112 uint64 rxBytes = 2;
113 uint64 txPackets = 3;
114 uint64 rxPackets = 4;
115 uint64 txErrorPackets = 5;
116 uint64 rxErrorPackets = 6;
117 uint64 txBcastPackets = 7;
118 uint64 rxBcastPackets = 8;
119 uint64 txUcastPackets = 9;
120 uint64 rxUcastPackets = 10;
121 uint64 txMcastPackets = 11;
122 uint64 rxMcastPackets = 12;
123}
124
125message GetOnuPonOpticalInfo {
126 google.protobuf.Empty empty = 1;
127}
128
Girish Gowdrab1d742d2021-05-01 15:34:32 -0700129// These values correspond to the Optical Line Supervision Test results
130// described in section A3.39.5 of ITU-T G.988 (11/2017) specification.
kesavand763d8002021-01-04 16:24:42 +0530131message GetOnuPonOpticalInfoResponse{
Girish Gowdrab1d742d2021-05-01 15:34:32 -0700132 float powerFeedVoltage = 1; // unit of value is voltage
133 float receivedOpticalPower = 2; // unit of value is dBm
134 float meanOpticalLaunchPower = 3; // unit of value is dBm
Girish Gowdrabce9ea72021-05-05 08:47:49 -0700135 float laserBiasCurrent = 4; // unit of value is milli-amphere (mA)
Girish Gowdrab1d742d2021-05-01 15:34:32 -0700136 float temperature = 5; // unit of value is degree celsius
kesavand763d8002021-01-04 16:24:42 +0530137}
138
139message GetOnuEthernetBridgePortHistory {
140 enum Direction {
141 UNDEFINED = 0;
142 UPSTREAM = 1;
143 DOWNSTREAM = 2;
144 }
145 Direction direction = 1;
146}
147
148message GetOnuEthernetBridgePortHistoryResponse {
149 uint32 dropEvents = 1;
150 uint32 octets = 2;
151 uint32 packets= 3;
152 uint32 broadcastPackets = 4;
153 uint32 multicastPackets = 5;
154 uint32 crcErroredPackets = 6;
155 uint32 undersizePackets = 7;
156 uint32 oversizePackets = 8;
157 uint32 packets64octets = 9;
158 uint32 packets65To127octets = 10;
159 uint32 packets128To255Octets = 11;
160 uint32 packets256To511octets = 12;
161 uint32 packets512To1023octets = 13;
162 uint32 packets1024To1518octets = 14;
163}
164
165message GetOnuFecHistory {
166 google.protobuf.Empty empty = 1;
167}
168
169message GetOnuFecHistoryResponse {
170 uint32 correctedBytes = 1;
171 uint32 correctedCodeWords = 2;
172 uint32 fecSeconds = 3;
173 uint32 totalCodeWords = 4;
174 uint32 uncorrectableCodeWords = 5;
175}
176
Himani Chawlae5bb7ca2021-05-17 15:48:32 +0530177message GetOnuCountersRequest {
178 fixed32 intf_id = 1;
179 fixed32 onu_id = 2;
180}
181
Himani Chawla9a497392021-05-28 13:04:42 +0530182message GetOmciEthernetFrameExtendedPmRequest {
Himani Chawlae5bb7ca2021-05-17 15:48:32 +0530183 string onuDeviceId = 1;
Himani Chawla393605c2021-08-30 13:44:13 +0530184 oneof is_uni_index {
185 uint32 uniIndex = 2; // Index of the uni starting from 0
186 }
187 bool reset = 3;
Himani Chawlae5bb7ca2021-05-17 15:48:32 +0530188}
189
amit.ghosh8490b122022-11-28 15:45:04 +0100190// DEPRECATED
Gamze Abaka08683072021-05-26 13:38:02 +0000191message GetRxPowerRequest {
192 fixed32 intf_id = 1;
193 fixed32 onu_id = 2;
194}
195
amit.ghosh8490b122022-11-28 15:45:04 +0100196message GetOltRxPowerRequest {
197 string port_label = 1;
198 // onu_sn is optional and if onu_sn is an empty string and the label is
199 // of a PON port then it means that the Rx Power corresponding to all
200 // the ONUs on that PON port is requested. In case the port_label is not
201 // of a PON port, the onu_sn does not have any significance
202 string onu_sn = 2;
203}
204
Himani Chawlae5bb7ca2021-05-17 15:48:32 +0530205message GetOnuCountersResponse {
206 oneof is_intf_id {
207 fixed32 intf_id = 1;
208 }
209 oneof is_onu_id {
210 fixed32 onu_id = 2;
211 }
212 oneof is_positive_drift {
213 fixed64 positive_drift = 3;
214 }
215 oneof is_negative_drift {
216 fixed64 negative_drift = 4;
217 }
218 oneof is_delimiter_miss_detection {
219 fixed64 delimiter_miss_detection = 5;
220 }
221 oneof is_bip_errors {
222 fixed64 bip_errors = 6;
223 }
224 oneof is_bip_units {
225 fixed64 bip_units = 7;
226 }
227 oneof is_fec_corrected_symbols {
228 fixed64 fec_corrected_symbols = 8;
229 }
230 oneof is_fec_codewords_corrected {
231 fixed64 fec_codewords_corrected = 9;
232 }
233 oneof is_fec_codewords_uncorrectable {
234 fixed64 fec_codewords_uncorrectable = 10;
235 }
236 oneof is_fec_codewords {
237 fixed64 fec_codewords = 11;
238 }
239 oneof is_fec_corrected_units {
240 fixed64 fec_corrected_units = 12;
241 }
242 oneof is_xgem_key_errors {
243 fixed64 xgem_key_errors = 13;
244 }
245 oneof is_xgem_loss {
246 fixed64 xgem_loss = 14;
247 }
248 oneof is_rx_ploams_error {
249 fixed64 rx_ploams_error = 15;
250 }
251 oneof is_rx_ploams_non_idle {
252 fixed64 rx_ploams_non_idle = 16;
253 }
254 oneof is_rx_omci {
255 fixed64 rx_omci = 17;
256 }
257 oneof is_tx_omci {
258 fixed64 tx_omci = 18;
259 }
260 oneof is_rx_omci_packets_crc_error {
261 fixed64 rx_omci_packets_crc_error = 19;
262 }
263 oneof is_rx_bytes {
264 fixed64 rx_bytes = 20;
265 }
266 oneof is_rx_packets {
267 fixed64 rx_packets = 21;
268 }
269 oneof is_tx_bytes {
270 fixed64 tx_bytes = 22;
271 }
272 oneof is_tx_packets {
273 fixed64 tx_packets = 23;
274 }
275 oneof is_ber_reported {
276 fixed64 ber_reported = 24;
277 }
278 oneof is_lcdg_errors {
279 fixed64 lcdg_errors = 25;
280 }
281 oneof is_rdi_errors {
282 fixed64 rdi_errors = 26;
283 }
284 oneof is_timestamp {
285 // reported timestamp in seconds since epoch
286 fixed32 timestamp = 27;
287 }
288}
289
Himani Chawla9a497392021-05-28 13:04:42 +0530290message OmciEthernetFrameExtendedPm {
Himani Chawlae5bb7ca2021-05-17 15:48:32 +0530291 fixed64 drop_events = 1;
Himani Chawlae5bb7ca2021-05-17 15:48:32 +0530292 fixed64 octets = 2;
Himani Chawlae5bb7ca2021-05-17 15:48:32 +0530293 fixed64 frames = 3;
Himani Chawlae5bb7ca2021-05-17 15:48:32 +0530294 fixed64 broadcast_frames = 4;
Himani Chawlae5bb7ca2021-05-17 15:48:32 +0530295 fixed64 multicast_frames = 5;
Himani Chawlae5bb7ca2021-05-17 15:48:32 +0530296 fixed64 crc_errored_frames = 6;
Himani Chawlae5bb7ca2021-05-17 15:48:32 +0530297 fixed64 undersize_frames = 7;
Himani Chawlae5bb7ca2021-05-17 15:48:32 +0530298 fixed64 oversize_frames = 8;
Himani Chawlae5bb7ca2021-05-17 15:48:32 +0530299 fixed64 frames_64_octets = 9;
Himani Chawlae5bb7ca2021-05-17 15:48:32 +0530300 fixed64 frames_65_to_127_octets = 10;
Himani Chawlae5bb7ca2021-05-17 15:48:32 +0530301 fixed64 frames_128_to_255_octets = 11;
Himani Chawlae5bb7ca2021-05-17 15:48:32 +0530302 fixed64 frames_256_to_511_octets = 12;
Himani Chawlae5bb7ca2021-05-17 15:48:32 +0530303 fixed64 frames_512_to_1023_octets = 13;
Himani Chawlae5bb7ca2021-05-17 15:48:32 +0530304 fixed64 frames_1024_to_1518_octets = 14;
Himani Chawla9a497392021-05-28 13:04:42 +0530305}
306
307message GetOmciEthernetFrameExtendedPmResponse {
Himani Chawla654f7f32021-08-25 16:31:24 +0530308 enum Format {
309 THIRTY_TWO_BIT = 0;
310 SIXTY_FOUR_BIT = 1;
311 }
Himani Chawla9a497392021-05-28 13:04:42 +0530312 OmciEthernetFrameExtendedPm upstream = 1;
313 OmciEthernetFrameExtendedPm downstream = 2;
Himani Chawla654f7f32021-08-25 16:31:24 +0530314 Format omci_ethernet_frame_extended_pm_format= 3;
Himani Chawlae5bb7ca2021-05-17 15:48:32 +0530315}
316
amit.ghosh8490b122022-11-28 15:45:04 +0100317message RxPower {
318 string onu_sn = 1; // if the port on which RxPower is measured is not a PON port this will be empty ("") string
319 string status = 2;
320 string fail_reason = 3;
321 double rx_power = 4;
322}
323
324message GetOltRxPowerResponse {
325 string port_label= 1;
326 repeated RxPower rx_power = 2;
327}
328
329// DEPRECATED
Gamze Abaka08683072021-05-26 13:38:02 +0000330message GetRxPowerResponse {
331 fixed32 intf_id= 1;
332 fixed32 onu_id = 2;
333 string status = 3;
334 string fail_reason = 4;
335 double rx_power = 5;
336}
337
Holger Hildebrandt3374b882022-09-06 11:40:16 +0000338message GetOnuOmciTxRxStatsRequest{
339 google.protobuf.Empty empty = 1;
340}
341
342// see ITU-T G.988 clause 11.2.2
343message GetOnuOmciTxRxStatsResponse {
344 // OMCI baseline Tx frames with AR bit set
345 uint32 base_tx_ar_frames = 1;
346 // OMCI baseline Rx frames with AK bit set
347 uint32 base_rx_ak_frames = 2;
348 // OMCI baseline Tx frames with AR bit unset
349 uint32 base_tx_no_ar_frames = 3;
350 // OMCI baseline Rx frames with AK bit unset
351 uint32 base_rx_no_ak_frames = 4;
352 // OMCI extended Tx frames with AR bit set
353 uint32 ext_tx_ar_frames = 5;
354 // OMCI extended Rx frames with AK bit set
355 uint32 ext_rx_ak_frames = 6;
356 // OMCI extended Tx frames with AR bit unset
357 uint32 ext_tx_no_ar_frames = 7;
358 // OMCI extended Rx frames with AK bit unset
359 uint32 ext_rx_no_ak_frames = 8;
360 // Number of retries of requests (tx) due to not received responses (Rx)
361 uint32 tx_omci_counter_retries = 9;
362 // Number of timeouts of requests (tx) due to not received responses (Rx) after configured number of retries
363 uint32 tx_omci_counter_timeouts = 10;
364}
365
praneeth kumar nalmas6230f492022-12-22 11:11:13 +0530366message GetOnuOmciActiveAlarmsRequest{
367 google.protobuf.Empty empty = 1;
368}
369
370message AlarmData{
371 uint32 class_id = 1;
372 uint32 instance_id = 2;
373 string name = 3;
374 string description = 4;
375}
376
377message GetOnuOmciActiveAlarmsResponse{
378 repeated AlarmData active_alarms = 1;
379}
380
amit.ghoshf017eab2024-06-28 15:09:33 +0200381message GetOffloadedAppsStatisticsRequest {
382 enum OffloadedApp {
383 UNDEFINED = 0;
384 PPPoeIA = 1;
385 DHCPv4RA = 2;
386 DHCPv6RA = 3;
387 }
388 // The offloaded application whose statistics are requested
389 OffloadedApp statsFor = 1;
390}
391
392message GetOffloadedAppsStatisticsResponse {
393 message DHCPv4RAStats {
394 // From https://github.com/BroadbandForum/yang/blob/master/standard/networking/bbf-l2-dhcpv4-relay.yang
395 uint32 in_bad_packets_from_client = 1;
396 uint32 in_bad_packets_from_server = 2;
397 uint32 in_packets_from_client = 3;
398 uint32 in_packets_from_server = 4;
399 uint32 out_packets_to_server = 5;
400 uint32 out_packets_to_client = 6;
401 uint32 option_82_inserted_packets_to_server = 7;
402 uint32 option_82_removed_packets_to_client = 8;
403 uint32 option_82_not_inserted_to_server = 9;
404
405 // Name value pairs that gives the flexibility to report different statistics that implementations may choose
406 map<string, string> additional_stats = 10;
407 }
408
409 message DHCPv6RAStats {
410 // From https://github.com/BroadbandForum/yang/blob/master/standard/networking/bbf-ldra.yang
411 uint32 in_bad_packets_from_client = 1;
412 uint32 in_bad_packets_from_server = 2;
413 uint32 option_17_inserted_packets_to_server = 3;
414 uint32 option_17_removed_packets_to_client = 4;
415 uint32 option_18_inserted_packets_to_server = 5;
416 uint32 option_18_removed_packets_to_client = 6;
417 uint32 option_37_inserted_packets_to_server = 7;
418 uint32 option_37_removed_packets_to_client = 8;
419 uint32 outgoing_mtu_exceeded_packets_from_client = 9;
420
421 // Name value pairs that gives the flexibility to report different statistics that implementations may choose
422 map<string, string> additional_stats = 10;
423 }
424
425 message PPPoeIAStats {
426 // From https://github.com/BroadbandForum/yang/blob/master/standard/networking/bbf-pppoe-intermediate-agent.yang
427 uint32 in_error_packets_from_client = 1;
428 uint32 in_error_packets_from_server = 2;
429 uint32 in_packets_from_client = 3;
430 uint32 in_packets_from_server = 4;
431 uint32 out_packets_to_server = 5;
432 uint32 out_packets_to_client = 6;
433 uint32 vendor_specific_tag_inserted_packets_to_server = 7;
434 uint32 vendor_specific_tag_removed_packets_to_client = 8;
435 uint32 outgoing_mtu_exceeded_packets_from_client = 9;
436
437 // Name value pairs that gives the flexibility to report different statistics that implementations may choose
438 map<string, string> additional_stats = 10;
439 }
440
441 oneof stats {
442 DHCPv4RAStats dhcpv4RaStats = 1;
443 DHCPv6RAStats dhcpv6RaStats = 2;
444 PPPoeIAStats pppoeIaStats = 3;
445 }
446}
praneeth kumar nalmas6230f492022-12-22 11:11:13 +0530447
amit.ghosh9f6af0e2020-11-04 14:09:25 +0100448message GetValueRequest {
449 oneof request {
450 GetDistanceRequest distance = 1;
451 GetOnuUniInfoRequest uniInfo = 2;
amit.ghoshf017eab2024-06-28 15:09:33 +0200452 // Corresponds to PmMetricId.PON_PORT_COUNTERS, PmMetricId.NNI_PORT_COUNTERS
kesavand763d8002021-01-04 16:24:42 +0530453 GetOltPortCounters oltPortInfo = 3;
454 // Corresponds to PmMetricId.PON_OPTICAL
455 GetOnuPonOpticalInfo onuOpticalInfo = 4;
456 // Corresponds to PmMetricId.ETHERNET_BRIDGE_PORT_HISTORY
457 GetOnuEthernetBridgePortHistory ethBridgePort = 5;
458 // Corresponds to PmMetricId.FEC_HISTORY
Gamze Abaka08683072021-05-26 13:38:02 +0000459 GetOnuFecHistory fecHistory = 6;
460 GetOnuCountersRequest onuPonInfo = 7;
Himani Chawla9a497392021-05-28 13:04:42 +0530461 GetOmciEthernetFrameExtendedPmRequest onuInfo = 8;
amit.ghosh8490b122022-11-28 15:45:04 +0100462 GetRxPowerRequest rxPower = 9; // This is deprecated
Holger Hildebrandt3374b882022-09-06 11:40:16 +0000463 GetOnuOmciTxRxStatsRequest onuOmciStats = 10;
amit.ghosh8490b122022-11-28 15:45:04 +0100464 GetOltRxPowerRequest oltRxPower = 11;
praneeth kumar nalmas6230f492022-12-22 11:11:13 +0530465 GetOnuOmciActiveAlarmsRequest onuActiveAlarms = 12;
amit.ghoshf017eab2024-06-28 15:09:33 +0200466 GetOffloadedAppsStatisticsRequest offloadedAppsStats = 13;
amit.ghosh9f6af0e2020-11-04 14:09:25 +0100467 }
468}
469
470message GetValueResponse {
471 enum Status {
472 STATUS_UNDEFINED = 0;
473 OK = 1;
474 ERROR = 2;
475 }
476
477 enum ErrorReason {
478 REASON_UNDEFINED = 0;
479 UNSUPPORTED = 1;
kesavand763d8002021-01-04 16:24:42 +0530480 INVALID_DEVICE_ID = 2;
481 INVALID_PORT_TYPE = 3;
482 TIMEOUT = 4;
483 INVALID_REQ_TYPE = 5;
Himani Chawlae5bb7ca2021-05-17 15:48:32 +0530484 INTERNAL_ERROR = 6;
485 INVALID_DEVICE = 7;
amit.ghosh9f6af0e2020-11-04 14:09:25 +0100486 }
487 Status status = 1;
488 ErrorReason errReason = 2;
489
490 oneof response {
491 GetDistanceResponse distance = 3;
492 GetOnuUniInfoResponse uniInfo = 4;
kesavand763d8002021-01-04 16:24:42 +0530493 GetOltPortCountersResponse portCoutners = 5;
494 GetOnuPonOpticalInfoResponse onuOpticalInfo = 6;
495 GetOnuEthernetBridgePortHistoryResponse ethBridgePortInfo = 7;
496 GetOnuFecHistoryResponse fecHistory = 8;
Gamze Abaka08683072021-05-26 13:38:02 +0000497 GetOnuCountersResponse onuPonCounters = 9;
Himani Chawla9a497392021-05-28 13:04:42 +0530498 GetOmciEthernetFrameExtendedPmResponse onuCounters = 10;
amit.ghosh8490b122022-11-28 15:45:04 +0100499 GetRxPowerResponse rxPower = 11; // This is DEPRECATED
Holger Hildebrandt3374b882022-09-06 11:40:16 +0000500 GetOnuOmciTxRxStatsResponse onuOmciStats = 12;
amit.ghosh8490b122022-11-28 15:45:04 +0100501 GetOltRxPowerResponse oltRxPower = 13;
praneeth kumar nalmas6230f492022-12-22 11:11:13 +0530502 GetOnuOmciActiveAlarmsResponse onuActiveAlarms = 14;
amit.ghoshf017eab2024-06-28 15:09:33 +0200503 GetOffloadedAppsStatisticsResponse offloadedAppsStats = 15;
amit.ghosh9f6af0e2020-11-04 14:09:25 +0100504 }
505}
506
amit.ghoshf017eab2024-06-28 15:09:33 +0200507// AppOffloadConfig is the configuration for offloading applications to the OLT and has OLT wide configuration.
508message AppOffloadConfig {
509 bool enableDHCPv4RA = 1;
510 bool enableDHCPv6RA = 2;
511 bool enablePPPoEIA = 3;
512 // Follows the same as the BBF Access Node Id defined in https://github.com/BroadbandForum/yang/blob/master/standard/networking/bbf-subscriber-profiles.yang
513 string accessNodeID = 4;
514}
515
516// AppOffloadOnuConfig has Onu specfic configuration which the OLT runs applications which have been offloaded.
517message AppOffloadOnuConfig {
518 string onuDeviceId = 1;
519
520 message PerUniConfig {
521 // As per the BBF Agent Remote Id defined in https://github.com/BroadbandForum/yang/blob/master/standard/networking/bbf-pppoe-intermediate-agent-profile-common.yang
522 string agentRemoteID = 2;
523 // As per the BBF Agent Circuit Id defined in https://github.com/BroadbandForum/yang/blob/master/standard/networking/bbf-pppoe-intermediate-agent-profile-common.yang
524 string agentCircuitID = 3;
525 // The id of the UNI on the Onu for which this configuration is relevant. The UNI ids are numbered from 0 to n depending on the number of UNI ports on the ONU.
526 uint32 onuUniId = 4;
527 }
528
529 repeated PerUniConfig perUniInfo = 5;
530
531}
532
amit.ghosh9f6af0e2020-11-04 14:09:25 +0100533message SetValueRequest {
534 oneof request {
535 config.AlarmConfig alarm_config = 1;
amit.ghoshf017eab2024-06-28 15:09:33 +0200536 AppOffloadConfig app_offload_config = 2;
537 AppOffloadOnuConfig app_offload_onu_config = 3;
amit.ghosh9f6af0e2020-11-04 14:09:25 +0100538 }
539}
540
541message SetValueResponse {
542 enum Status {
543 STATUS_UNDEFINED = 0;
544 OK = 1;
545 ERROR = 2;
546 }
547
548 enum ErrorReason {
549 REASON_UNDEFINED = 0;
550 UNSUPPORTED = 1;
amit.ghoshf017eab2024-06-28 15:09:33 +0200551 INVALID_DEVICE_ID = 2;
552 INVALID_ONU_DEVICE_ID = 3;
553 INVALID_UNI_ID = 4;
amit.ghosh9f6af0e2020-11-04 14:09:25 +0100554 }
555 Status status = 1;
556 ErrorReason errReason = 2;
557
558 // As of now we don't have any explicit response for the supported SetValueRequests
559 // to be used later
560 //oneof response {
561 //
562 //}
563}
564
565message SingleGetValueRequest {
566 string targetId = 1;
567 GetValueRequest request = 2;
568}
569
570message SingleGetValueResponse{
571 GetValueResponse response = 1;
572}
573
574message SingleSetValueRequest {
575 string targetId = 1;
576 SetValueRequest request = 2;
577}
578message SingleSetValueResponse {
579 SetValueResponse response = 1;
580}
581
582// Extension is a service to get and set specific attributes
583service Extension {
584 // Get a single attribute
585 rpc GetExtValue(SingleGetValueRequest) returns (SingleGetValueResponse);
586 // Set a single attribute
587 rpc SetExtValue(SingleSetValueRequest) returns (SingleSetValueResponse);
588}