Skip to content

Commit b21cee2

Browse files
committed
[onu] Report correct onu sticky status
1 parent 6f1eac4 commit b21cee2

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

src/CommandLineUtilities/ProgramStatus.cxx

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -227,18 +227,25 @@ class ProgramStatus : public Program
227227
/* ONU PARAMETERS */
228228
if (mOptions.onu) {
229229
Cru::OnuStatus onuStatus = cruBar2->reportOnuStatus();
230-
int onuStickyStatus = 0;
231230

232-
if (onuStatus.stickyBit == Cru::LinkStatus::Up || onuStatus.stickyBit == Cru::LinkStatus::UpWasDown) {
231+
std::string onuStickyStatus;
232+
int onuStickyStatusInt = 0;
233+
234+
if (onuStatus.stickyBit == Cru::LinkStatus::Up) {
235+
onuStickyStatus = "UP";
236+
onuStickyStatusInt = 1;
237+
} else if (onuStatus.stickyBit == Cru::LinkStatus::UpWasDown) {
238+
onuStickyStatus = "UP (was DOWN)";
233239
// force status = 1 (vs = 2) when UP(was DOWN) for monitoring
234-
onuStickyStatus = 1;
240+
onuStickyStatusInt = 1;
235241
} else if (onuStatus.stickyBit == Cru::LinkStatus::Down) {
236-
onuStickyStatus = 0;
242+
onuStickyStatus = "DOWN";
243+
onuStickyStatusInt = 0;
237244
}
238245

239246
if (mOptions.monitoring) {
240247
monitoring->send(Metric{ "onu" }
241-
.addValue(onuStickyStatus, "onuStickyStatus")
248+
.addValue(onuStickyStatusInt, "onuStickyStatus")
242249
.addValue(std::to_string(onuStatus.onuAddress), "onuAddress")
243250
.addValue(onuStatus.rx40Locked, "rx40Locked")
244251
.addValue(onuStatus.phaseGood, "phaseGood")

src/Cru/Ttc.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,9 +147,9 @@ LinkStatus Ttc::getOnuStickyBit()
147147
mBar->modifyRegister(Cru::Registers::TTC_DATA.index, 28, 1, 0x0);
148148
uint32_t is = mBar->readRegister(Cru::Registers::TTC_ONU_STICKY.index);
149149

150-
if (was == 1 && is == 1) {
150+
if (was == 0x0 && is == 0x0) {
151151
return LinkStatus::Up;
152-
} else if (was == 0 && is == 1) {
152+
} else if (was != 0x0 && is == 0x0) {
153153
return LinkStatus::UpWasDown;
154154
}
155155
return LinkStatus::Down;

0 commit comments

Comments
 (0)