VOL-2152: Enhance OnuItuPonAlarm message to enumerize the alarm_id
and alarm_reporting_condition information
Change-Id: I455540cdba1b7a5e114915405da5dcb4fe71eb79
diff --git a/protos/voltha_protos/openolt.proto b/protos/voltha_protos/openolt.proto
index 69092ee..13d7a38 100644
--- a/protos/voltha_protos/openolt.proto
+++ b/protos/voltha_protos/openolt.proto
@@ -420,17 +420,47 @@
}
message OnuItuPonAlarm {
+ enum AlarmID {
+ RDI_ERRORS = 0; // RDI errors
+ }
+
+ enum AlarmReportingCondition {
+ RATE_THRESHOLD = 0; // The alarm is triggered if the stats delta value between samples crosses the configured threshold boundary
+ RATE_RANGE = 1; // The alarm is triggered if the stats delta value between samples deviates from the configured range
+ VALUE_THRESHOLD = 2; // The alarm is raised if the stats sample value becomes greater than this level. The alarm is cleared when the host read the stats
+ }
+
+ message SoakTime {
+ fixed32 active_soak_time = 1;
+ fixed32 clear_soak_time = 2;
+ }
+
+ message RateThresholdConfig {
+ fixed64 rate_threshold_rising = 1;
+ fixed64 rate_threshold_falling = 2;
+ SoakTime soak_time = 3;
+ }
+
+ message RateRangeConfig {
+ fixed64 rate_range_lower = 1;
+ fixed64 rate_range_upper = 2;
+ SoakTime soak_time = 3;
+ }
+
+ message ValueThresholdConfig {
+ fixed64 threshold_limit = 1;
+ SoakTime soak_time = 2;
+ }
+
fixed32 pon_ni = 1;
fixed32 onu_id = 2;
- fixed32 alarm_id = 3;
- fixed32 type = 4;
- fixed64 rate_thresdhold_rising = 5;
- fixed64 rate_thresdhold_falling = 6;
- fixed64 rate_range_lower = 7;
- fixed64 rate_range_upper = 8;
- fixed64 threshold_limit = 9;
- fixed32 active_soak_time = 10;
- fixed32 clear_soak_time = 11;
+ AlarmID alarm_id = 3;
+ AlarmReportingCondition alarm_reporting_condition = 4;
+ oneof config {
+ RateThresholdConfig rate_threshold_config = 5;
+ RateRangeConfig rate_range_config = 6;
+ ValueThresholdConfig value_threshold_config = 7;
+ }
}
message SerialNumber {
@@ -541,10 +571,18 @@
string status = 3;
}
+message RdiErrorIndication {
+ fixed64 rdi_error_count = 1; // RDI Error count
+ string status = 2; // on/off based on configured reporting condition
+}
+
message OnuItuPonStatsIndication{
fixed32 intf_id = 1;
fixed32 onu_id = 2;
- fixed64 rdi_errors = 3;
+ oneof stats {
+ RdiErrorIndication rdi_error_ind = 3;
+ // add more here
+ }
}
message OnuProcessingErrorIndication {
@@ -555,7 +593,7 @@
message OnuDeactivationFailureIndication {
fixed32 intf_id = 1;
fixed32 onu_id = 2;
- fixed32 fail_reason = 3;
+ string status = 3;
}
message OnuRemoteDefectIndication {