diff options
author | Aravind Sirsikar <Arvind.Sirsikar@radisys.com> | 2016-08-25 16:40:23 +0530 |
---|---|---|
committer | Aravind Sirsikar <Arvind.Sirsikar@radisys.com> | 2016-08-25 16:40:23 +0530 |
commit | eebcb1e3e87a37cde3ac6aaf89b8c6c201abb6ba (patch) | |
tree | aa0c91dcbae7da37a8b4fdd7fd5a6ded0bbc97f0 | |
parent | 02352b487ac6808b6adb8e8623f0921aad7f02d7 (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.cpp | 3 | ||||
-rw-r--r-- | tests/tbf/TbfTest.cpp | 3 | ||||
-rw-r--r-- | tests/tbf/TbfTest.err | 4 |
3 files changed, 5 insertions, 5 deletions
diff --git a/src/encoding.cpp b/src/encoding.cpp index 63049ac3..41e0d105 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 8ec1dccb..5e40abcb 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 c3a7f207..452f1c16 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 ********** |