aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAravind Sirsikar <Arvind.Sirsikar@radisys.com>2016-08-25 16:40:23 +0530
committerAravind Sirsikar <Arvind.Sirsikar@radisys.com>2016-08-25 16:40:23 +0530
commiteebcb1e3e87a37cde3ac6aaf89b8c6c201abb6ba (patch)
treeaa0c91dcbae7da37a8b4fdd7fd5a6ded0bbc97f0
parent02352b487ac6808b6adb8e8623f0921aad7f02d7 (diff)
Fix EGPRS PUAN encoding: use correct urbb_len
Earlier there was an incorrect encoding of PUAN when VQ is not equal VR case for EGPRS UL RLC window. The PCU was encoding the same PUAN message always irrespective of radio condition. This was a bottle neck for performance testing. Which has been fixed in this patch. Related: OS#1793 unit test assertion in the previous commit is fixed in this patch. Change-Id: Iba7b1995028bd81749ffb080616b2ad5f2540d57
-rw-r--r--src/encoding.cpp3
-rw-r--r--tests/tbf/TbfTest.cpp3
-rw-r--r--tests/tbf/TbfTest.err4
3 files changed, 5 insertions, 5 deletions
diff --git a/src/encoding.cpp b/src/encoding.cpp
index 63049ac..41e0d10 100644
--- a/src/encoding.cpp
+++ b/src/encoding.cpp
@@ -575,7 +575,8 @@ static void write_packet_ack_nack_desc_egprs(
eow = false;
urbb_len = rest_bits - 9;
/* TODO: use compression (see above) */
- }
+ } else
+ urbb_len = num_blocks;
if (urbb_len + crbb_len == rest_bits)
len = -1;
diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp
index 8ec1dcc..5e40abc 100644
--- a/tests/tbf/TbfTest.cpp
+++ b/tests/tbf/TbfTest.cpp
@@ -753,9 +753,8 @@ static gprs_rlcmac_ul_tbf *puan_urbb_len_issue(BTS *the_bts,
msg1 = ul_tbf->create_ul_ack(*fn, ts_no);
- /* TODO: Need to modify the assert */
OSMO_ASSERT(!strcmp(osmo_hexdump(msg1->data, msg1->data_len),
- "40 24 01 3f 3e 24 46 68 90 87 b0 06 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b "
+ "40 24 01 3f 3e 24 46 68 90 88 b0 06 8b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b "
));
return ul_tbf;
diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err
index c3a7f20..452f1c1 100644
--- a/tests/tbf/TbfTest.err
+++ b/tests/tbf/TbfTest.err
@@ -6307,8 +6307,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS): Got MCS-3 RLC data block: CV
TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS): data_length=37, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- Raising V(R) to 5
Encoding Ack/Nack for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) (final=0)
- - EGPRS URBB, len = 0, SSN = 3, ESN_CRBB = 2, SNS = 2048, WS = 64, V(Q) = 2, V(R) = 5, BOW, EOW
-Uplink Ack/Nack bit count 98, max 184, message = 40 24 01 3f 3e 24 46 68 90 87 b0 06 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b
+ - EGPRS URBB, len = 2, SSN = 3, ESN_CRBB = 2, SNS = 2048, WS = 64, V(Q) = 2, V(R) = 5, BOW, EOW
+Uplink Ack/Nack bit count 100, max 184, message = 40 24 01 3f 3e 24 46 68 90 88 b0 06 8b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b
Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS)', TA=7
Got MS: TLLI = 0xf1223344, TA = 7
********** TBF starts here **********