laforge submitted this change.

View Change



3 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted one.

Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified tnt: Looks good to me, but someone else must approve
Indicate remote alarm bit as remote alarm inidication

The flag that stores the current alarm is not cleared periodically.
Instead it is cleared when the alarm ceases.

Change-Id: Id6cd193c71330c350c27e02b3a692d2c7e0b3fbe
---
M src/intf_line.c
M src/mux_demux.c
2 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/src/intf_line.c b/src/intf_line.c
index f41214e..4433e96 100644
--- a/src/intf_line.c
+++ b/src/intf_line.c
@@ -239,7 +239,7 @@
}

line->ts0.prev_errmask = line->ts0.cur_errmask;
- line->ts0.cur_errmask = 0;
+ line->ts0.cur_errmask &= ~E1L_TS0_RX_CRC4_ERR;
osmo_timer_schedule(&line->ts0.timer, 1, 0);
}

diff --git a/src/mux_demux.c b/src/mux_demux.c
index cd5c286..abe01a3 100644
--- a/src/mux_demux.c
+++ b/src/mux_demux.c
@@ -36,6 +36,7 @@
#include <osmocom/core/stats.h>
#include <osmocom/core/rate_ctr.h>
#include <osmocom/e1d/proto.h>
+#include <osmocom/e1d/proto_srv.h>

#include "e1d.h"
#include "log.h"
@@ -380,8 +381,18 @@
/* A bit is present in each odd frame */
if (frame_nr % 2) {
if (frame[0] & 0x20) {
- line->ts0.cur_errmask |= E1L_TS0_RX_ALARM;
- line_ctr_add(line, LINE_CTR_RX_REMOTE_A, 1);
+ if (!(line->ts0.cur_errmask & E1L_TS0_RX_ALARM)) {
+ line->ts0.cur_errmask |= E1L_TS0_RX_ALARM;
+ line_ctr_add(line, LINE_CTR_RX_REMOTE_A, 1);
+ osmo_e1dp_server_event(line->intf->e1d->srv, E1DP_EVT_RAI_ON,
+ line->intf->id, line->id, 0, NULL, 0);
+ }
+ } else {
+ if ((line->ts0.cur_errmask & E1L_TS0_RX_ALARM)) {
+ line->ts0.cur_errmask &= ~E1L_TS0_RX_ALARM;
+ osmo_e1dp_server_event(line->intf->e1d->srv, E1DP_EVT_RAI_OFF,
+ line->intf->id, line->id, 0, NULL, 0);
+ }
}
}

@@ -395,7 +406,7 @@
line_ctr_add(line, LINE_CTR_RX_REMOTE_E, 1);
}
}
- /* cur_errmask is being cleared once per second via line->ts0.timer */
+ /* CRC error in cur_errmask is being cleared once per second via line->ts0.timer */
}
}


To view, visit change 35560. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: osmo-e1d
Gerrit-Branch: master
Gerrit-Change-Id: Id6cd193c71330c350c27e02b3a692d2c7e0b3fbe
Gerrit-Change-Number: 35560
Gerrit-PatchSet: 5
Gerrit-Owner: jolly <andreas@eversberg.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: tnt <tnt@246tNt.com>
Gerrit-MessageType: merged