laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-e1d/+/27828 )
Change subject: Add rate counters for number of frames muxed/demuxed (E1 side) ......................................................................
Add rate counters for number of frames muxed/demuxed (E1 side)
Nominally this is of course 8000/s, but this patch should allow us to verify this in monitoring. Note that the rate_ctr base of course is "wrong" as it uses the normal system clock, which is much less precise than the E1 clock of an icE1usb with GPS-DO.
So it really only helps us to compare Rx against Tx or against other values/counters derived from the TDM clock.
Change-Id: I40e9fb38561410fbf0902b8a390673690a36ea5e --- M src/e1d.h M src/intf_line.c M src/mux_demux.c 3 files changed, 8 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-e1d refs/changes/28/27828/1
diff --git a/src/e1d.h b/src/e1d.h index 726696e..00d2149 100644 --- a/src/e1d.h +++ b/src/e1d.h @@ -54,6 +54,8 @@ LINE_CTR_TX_UNFL, LINE_CTR_RX_REMOTE_E, LINE_CTR_RX_REMOTE_A, + LINE_CTR_FRAMES_MUXED_E1T, + LINE_CTR_FRAMES_DEMUXED_E1O, };
enum e1_ts_mode { diff --git a/src/intf_line.c b/src/intf_line.c index 63fd098..234f0c0 100644 --- a/src/intf_line.c +++ b/src/intf_line.c @@ -56,6 +56,8 @@ [LINE_CTR_TX_UNFL] = { "tx:underflow", "E1 Tx Underflow" }, [LINE_CTR_RX_REMOTE_E] ={ "rx:remote_crc_errors", "Rx Frames Reporting Remote CRC Error"}, [LINE_CTR_RX_REMOTE_A] ={ "rx:remote_alarm", "Rx Frames Reporting Remote Alarm"}, + [LINE_CTR_FRAMES_MUXED_E1T] = { "tx:frames_muxed", "E1 Tx Frames multiplexed" }, + [LINE_CTR_FRAMES_DEMUXED_E1O] = { "rx:frames_demuxed", "E1 Rx Frames demultiplexed" }, };
static const struct rate_ctr_group_desc line_ctrg_desc = { diff --git a/src/mux_demux.c b/src/mux_demux.c index 671d6d1..cd5c286 100644 --- a/src/mux_demux.c +++ b/src/mux_demux.c @@ -218,6 +218,8 @@ OSMO_ASSERT(0); }
+ line_ctr_add(line, LINE_CTR_FRAMES_MUXED_E1T, fts); + return tsz; }
@@ -421,6 +423,8 @@ if (frame_base >= 0) _e1_line_demux_in_ts0(line, buf, ftr, frame_base);
+ line_ctr_add(line, LINE_CTR_FRAMES_DEMUXED_E1O, ftr); + switch (line->mode) { case E1_LINE_MODE_CHANNELIZED: return _e1_line_demux_in_channelized(line, buf, ftr);