This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "UNNAMED PROJECT".
The branch, master has been updated
via 1275a3f91a744e011b0dba82b09124d249c7abb5 (commit)
from a01e2ee177d42bdbeaea00f28bcdd65bc27f96e2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cgit.osmocom.org/osmo-pcu/commit/?id=1275a3f91a744e011b0dba82b09124d…
commit 1275a3f91a744e011b0dba82b09124d249c7abb5
Author: Philipp Maier <pmaier(a)sysmocom.de>
Date: Tue Feb 21 19:35:23 2017 +0100
BTS: Convert relative frame numbers to absolute frame numbers
The implementation of the method rcv_rach() in class BTS, restores
the absolute frame number of the incoming RACH-Request by using
the relative frame number (RFn = Fn mod 42432) from the rach
request and the already known internal absolute frame number
m_cur_fn, which is continusly updated by the CCU interface.
In some rare cases, a RACH request might be received by the BTS,
a very short time before the frame number wraps in its 42432.
Depending on the PCU location, RACH request might be received
by the BSC, which forwards it to the PCU. It is then likely
that, while the RACH request is being forwarded to the PCU, the
PCU internal absolute frame number wraps before the RACH
can be processed. The relative frame number from the rach
request would then be interpreted as if it were received after
the wrapping of the internal frame number modulos.
This commit adds logic to detect and resolve this race condition.
Also a unit test is added to check some cornercases.
Change-Id: I74f00c11e5739d49f370ce6c357149e81d9aa759
-----------------------------------------------------------------------
Summary of changes:
src/bts.cpp | 71 ++++++++++++++++-----
src/bts.h | 2 +
tests/Makefile.am | 13 +++-
tests/fn/FnTest.cpp | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/fn/FnTest.ok | 50 +++++++++++++++
tests/testsuite.at | 6 ++
6 files changed, 301 insertions(+), 16 deletions(-)
create mode 100644 tests/fn/FnTest.cpp
create mode 100644 tests/fn/FnTest.ok
hooks/post-receive
--
UNNAMED PROJECT