Attention is currently required from: laforge.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/33924 )
Change subject: gprs_rlc_ul_window: Mark received BSNs falling out of the V(N)/RBB when V(R) is raised
......................................................................
Patch Set 2:
(1 comment)
Patchset:
PS2:
I simply rebased this patch on top of the splitting, which is something I wanted to do since some time ago in osmo-pcu (I already did it in libosmo-gprs-rlcmac).
This way if we need to revert this patch for whatever reason it's going to be easier.
--
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/33924
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: I5ef4dcb0c5eac07a892114897f9e4f565b1dcc2c
Gerrit-Change-Number: 33924
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Comment-Date: Wed, 26 Jul 2023 15:05:41 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
Attention is currently required from: laforge, pespin.
Hello osmith, Jenkins Builder, laforge, fixeria,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-pcu/+/33924
to look at the new patch set (#2).
Change subject: gprs_rlc_ul_window: Mark received BSNs falling out of the V(N)/RBB when V(R) is raised
......................................................................
gprs_rlc_ul_window: Mark received BSNs falling out of the V(N)/RBB when V(R) is raised
This is a port of libosmo-gprs.git commit 49535bec37caddcea5718ed4e526c477c71f1b3a applied to osmo-pcu.
Problem this patch is fixing:
The current RLCMAC code is never invalidating the BSNs which have
been received after they are not needed.
This is somehow workaround by the following check when eg BSN wraps
around 127->0 and the BSN=0 is received:
""""
rcv_data_block_acknowledged()
m_window.m_v_n.is_received(rdbi->bsn)
/* Offset to the end of the received window */
offset_v_r = (m_v_r - 1 - bsn) & mod_sns();
return m_v_n.is_received(bsn) && offset_v_r < ws();
"""
The first m_v_n_is_received() would return true because the BSN has
never been invalidated, which is wrong, but fortunately the extra check
"offset_v_r < ws()" returns > ws() since:
v_r=0, bsn=0: "(0 - 1 - 0) & 127" ----> 0xffff & 0x007f ---> 0x007f > 64
So thanks to the above the BSN is considered not received, but looking
at the V(N) array would say the opposite. Hence, this commit aims at
fixing the V(N) array to contain proper values (marked "invalid") for
BSNs becoming out of the window when it rolls forward.
Explanation of the solution:
The V(N) array contains the status of the previous WS (64 in GPRS) data
blocks. This array is used to construct the RRB signaled to the peer
during PKT UL ACK/NACK messages together with the SSN (start sequence
number), which in our case is mainly V(R), aka one block higher than the
highest received block in the rx window.
Hence, whenever PKT UL ACK/NACK is transmitted, it contains an RRB
ranging [V(R)-1,...V(R)-WS)] mod SNS (SNS=128 in GPRS).
The receive window is basically [V(Q) <= BSN < V(R)] mod SNS, as is of
size 64.
The V(R) is increased whenever a highest new block arrives which is in the
receive window (guaranteeing it will be increased to at most V(Q)+64.
Since we are only announcing state of blocks from V(R)..V(R)-WS, and
blocks received which are before that BSN are dropped since don't fall
inside the rx window, we can securely mark as invalid those blocks
falling behind V(R)-WS whenever we increase V(R).
Related: OS#6102
Change-Id: I5ef4dcb0c5eac07a892114897f9e4f565b1dcc2c
---
M src/rlc_window_ul.cpp
M src/rlc_window_ul.h
M src/tbf_ul.cpp
3 files changed, 69 insertions(+), 3 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/24/33924/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/33924
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: I5ef4dcb0c5eac07a892114897f9e4f565b1dcc2c
Gerrit-Change-Number: 33924
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: wbokslag.
Hello Jenkins Builder, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-tetra/+/33940
to look at the new patch set (#2).
Change subject: fixed import warnings for stdbool on some gcc versions
......................................................................
fixed import warnings for stdbool on some gcc versions
Change-Id: I979a95eae70d839e20434cc7f08c196c162671a8
---
M src/tetra_llc_pdu.c
M src/tetra_llc_pdu.h
2 files changed, 12 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-tetra refs/changes/40/33940/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-tetra/+/33940
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-tetra
Gerrit-Branch: master
Gerrit-Change-Id: I979a95eae70d839e20434cc7f08c196c162671a8
Gerrit-Change-Number: 33940
Gerrit-PatchSet: 2
Gerrit-Owner: wbokslag <w.bokslag(a)midnightblue.nl>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: wbokslag <w.bokslag(a)midnightblue.nl>
Gerrit-MessageType: newpatchset
Attention is currently required from: pespin.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-pcu/+/33939
to look at the new patch set (#2).
Change subject: Split rlc_{dl_,ul_,}window out of rlc.{h,cpp}
......................................................................
Split rlc_{dl_,ul_,}window out of rlc.{h,cpp}
This new structure was already used when porting existing osmo-pcu code
to libosmo-gprs-rlcmac, and proved to be much more clear.
It makes no sense to keep both ul and dl window code mixed, since the
code base is mostly different between them, and the developer usually is
only interested in reading/debugging one side at a time.
Change-Id: If21b6f48ef190a718502389cbfde8cbdfc8d7f7a
---
M src/Makefile.am
M src/decoding.cpp
M src/decoding.h
M src/rlc.cpp
M src/rlc.h
A src/rlc_window.cpp
A src/rlc_window.h
A src/rlc_window_dl.cpp
A src/rlc_window_dl.h
A src/rlc_window_ul.cpp
A src/rlc_window_ul.h
M src/tbf.h
M src/tbf_dl.h
M src/tbf_ul.h
14 files changed, 820 insertions(+), 660 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/39/33939/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/33939
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: If21b6f48ef190a718502389cbfde8cbdfc8d7f7a
Gerrit-Change-Number: 33939
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Hoernchen has abandoned this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/33563 )
Change subject: host: split l1l2 if into own lib
......................................................................
Abandoned
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/33563
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I91315984dbac4b3a25e7ec3e0b32f259e2b47324
Gerrit-Change-Number: 33563
Gerrit-PatchSet: 2
Gerrit-Owner: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: abandon
Hoernchen has abandoned this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/33562 )
Change subject: mobile and modem libs for mssdr app integration
......................................................................
Abandoned
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/33562
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: Ib8570bb84194a8a783fe4a983d764fb8a1b4117a
Gerrit-Change-Number: 33562
Gerrit-PatchSet: 1
Gerrit-Owner: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-MessageType: abandon
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/33922 )
Change subject: gprs_rlc_ul_window: Make sure V(N) array is cleared during reset_state()
......................................................................
gprs_rlc_ul_window: Make sure V(N) array is cleared during reset_state()
Otherwise unit tests (the only real used of that API so far) would end
up with v_r and v_q variables reset, but with previous state in v_n
array, which is not good.
Let's make sure everything is reset in
gprs_rlc_ul_window::reset_state(), and simply call that method during
constructor time.
Change-Id: I007b672527664b05353077b9208722056799f43f
---
M src/rlc.h
1 file changed, 19 insertions(+), 3 deletions(-)
Approvals:
Jenkins Builder: Verified
osmith: Looks good to me, but someone else must approve
fixeria: Looks good to me, approved
diff --git a/src/rlc.h b/src/rlc.h
index 5c6930c..d4a7a5e 100644
--- a/src/rlc.h
+++ b/src/rlc.h
@@ -573,10 +573,8 @@
}
inline gprs_rlc_ul_window::gprs_rlc_ul_window()
- : m_v_r(0)
- , m_v_q(0)
{
- m_v_n.reset();
+ reset_state();
}
inline bool gprs_rlc_ul_window::is_in_window(uint16_t bsn) const
@@ -603,6 +601,7 @@
{
m_v_r = 0;
m_v_q = 0;
+ m_v_n.reset();
}
inline const void gprs_rlc_ul_window::set_v_r(int v_r)
--
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/33922
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: I007b672527664b05353077b9208722056799f43f
Gerrit-Change-Number: 33922
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged