[PATCH] osmo-pcu[master]: Fix GPRS PUAN encoding: wrong BSN status

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

arvind.sirsikar gerrit-no-reply at lists.osmocom.org
Sun Aug 28 10:39:57 UTC 2016


Review at  https://gerrit.osmocom.org/771

Fix GPRS PUAN encoding: wrong BSN status

Earlier there was an incorrect encoding of BSN status in GPRS PUAN message.
This was a bottle neck for GPRS performance testing for UL. Which has been fixed
in this patch.

Related: OS#1806

Change-Id: I98e586aa5cb9200cf03e092556304211d4d459aa
---
M src/rlc.cpp
M tests/tbf/TbfTest.cpp
M tests/tbf/TbfTest.err
3 files changed, 4 insertions(+), 7 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/71/771/1

diff --git a/src/rlc.cpp b/src/rlc.cpp
index e69d1fc..ee2635a 100644
--- a/src/rlc.cpp
+++ b/src/rlc.cpp
@@ -227,7 +227,7 @@
 {
 	int i;
 	for (i=0; i < ws(); i++) {
-		if (m_v_n.is_received(ssn()-1-i))
+		if (m_v_n.is_received((ssn()-1-i) & mod_sns()))
 			rbb[ws()-1-i] = 'R';
 		else
 			rbb[ws()-1-i] = 'I';
diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp
index 8cdac9a..c9a2233 100644
--- a/tests/tbf/TbfTest.cpp
+++ b/tests/tbf/TbfTest.cpp
@@ -1382,11 +1382,8 @@
 	/* trigger GPRS ack/nack */
 	struct msgb *msg1 = ul_tbf->create_ul_ack(*fn, ts_no);
 
-	/* TODO: Should not expect any BSN as nacked.
-	 * should be fixed in subsequent patch
-	 */
 	OSMO_ASSERT(!strcmp(osmo_hexdump(msg1->data, msg1->data_len),
-	"40 24 00 00 40 00 00 00 00 00 00 00 7e 24 46 68 81 4b 2b 2b 2b 2b 2b "
+	"40 24 00 00 7f ff ff ff ff ff ff ff fe 24 46 68 81 4b 2b 2b 2b 2b 2b "
 	));
 
 	return ul_tbf;
diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err
index 6979652..9136d47 100644
--- a/tests/tbf/TbfTest.err
+++ b/tests/tbf/TbfTest.err
@@ -8072,5 +8072,5 @@
 -- Frame 1 starts at offset 0, length=20, is_complete=0
 - No gaps in received block, last block: BSN=0 CV=15
 Encoding Ack/Nack for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) (final=0)
-- V(N): "IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIR" R=Received I=Invalid
-Uplink Ack/Nack bit count 139, max 184, message = 40 24 00 00 40 00 00 00 00 00 00 00 7e 24 46 68 81 4b 2b 2b 2b 2b 2b 
+- V(N): "RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR" R=Received I=Invalid
+Uplink Ack/Nack bit count 139, max 184, message = 40 24 00 00 7f ff ff ff ff ff ff ff fe 24 46 68 81 4b 2b 2b 2b 2b 2b 

-- 
To view, visit https://gerrit.osmocom.org/771
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I98e586aa5cb9200cf03e092556304211d4d459aa
Gerrit-PatchSet: 1
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: arvind.sirsikar <arvind.sirsikar at radisys.com>



More information about the gerrit-log mailing list