aboutsummaryrefslogtreecommitdiffstats
path: root/tests
AgeCommit message (Collapse)AuthorFilesLines
2016-12-30PDCH allocation across two TRXradisys/egprs_featuresaravind sirsikar3-1/+1804
Implementation: PCU keeps track of number PDCH across all the TRXs at BTS context and also keeps number of active PDCHs in each TRX context. This ratio gives the CAPACITY of each TRX. 1st Phase: While selection of TRX, functions get_possible_trxs(for multiple TS) and get_possible_trxs_sba(Single block allocation, Ex: during RACH) gets possible TRXs based on TFIs availability. 2nd Phase: outcome of TRXs(from get_possible_trxs, get_possible_trxs_sba) will be fed to get_suitable_trx function. Which does actual load balancing on each TRX. And selects the best fit TRX, based on below equation PROBABILITY = MAX_PROBABILITY – ((LOAD * 100)/CAPACITY); If same PROBABILITY Select the one with higher capacity Else Find the TRX with higher PROBABILITY MAX_PROBABILITY = 65535; LOAD: Initialized to 0, Later gets incremented with number of TS allocated. and decremented whle TBF deletion, based on number of TS allocated Below are the test executed on Unit test environment 1) 2 TRXs, with same Capacity 2) 2 TRX with ½ capacity 3) 2 TRXs with ¼ capacity 4) 2 TRX with UL and DL allocation to ensure Tbfs on both direction is hosted on same TRX 5) 2 TRX with same Capacity and DL TBF creation and deletion scenarios to ensure proper load balancing criteria for actual Load. Below are the Test executed on Integration setup with Ettus B200 setup with 2 TRXs with same CAPACITY. 1) TRX allocation during RACH procedure(SBA allocation) 2) TRX allocation during DL TBF creation with multi time slots(4 time slots) 3) TRX allocation while Ping Test 4) TRX allocation while UDP test 5) TRX allocation for web browsing. 6) 2 MS test with each TRX sharing 1 MS. Received aggregate throughput of 446 kbps(223 Kbps each) Limitation: 1) BSSGP flow control needs to be tuned since test with 2 MS with each MS on different TRX runs for 20 mins 2) USF resource availibility is not checked while selecting the TRX as existing implementation Change-Id: Ifb61a7862d55af828383b6dfe728628e546ed12b Related: OS# 1775
2016-12-30Handle packet access reject during packet resource requestaravind sirsikar3-0/+341
When Packet resource request is received, PCU will generate the packet access reject if no resources are present. The encoding is done based on section 7.1.3.2.1 and 8.1.2.5 of 44.060 version 7.27.0 Release 7. This patch also includes the test case to validate the generated packet access reject message. This patch is integration tested on Osmo-trx setup with Ettus B210 board and LG F70 MS with some simulation code changes in Osmo-pcu. Change-Id: I05ff25124b58905586caa0c0c37023d69724f121
2016-12-29Will enable padding support for MCS8 to MCS6/MCS3 transition in EGPRS DL.Pravin Kumarvel1-11/+9
2016-12-29Add test case for testing PUANPravin Kumarvel3-0/+2377
This test case is for testing generation of EGPRS PUAN. Corresponding log files .ok and .err are modified.
2016-12-29Add compression support in EGPRS PUANPravin Kumarvel1-0/+37
This adds compression of bitmap in PUAN. The compressed bitmap is used only if the number of bits in the bitmap does not fit in the message and there is a gain after compression. The algorithm is part of libosmocore and so there is dependency on the libosmocore for compilation. The algorithm is tested on integration setup by forcing compression.
2016-12-29Refactoring write_packet_ack_nack_desc_egprs to prepare for CRBB supportPravin Kumarvel1-2/+2
2016-12-09Sanitizer build fix for TbfTestaravind sirsikar1-0/+2
Change-Id: Ia6993fd6f89c9d9ed00ec6cb4b27953e72fa1f52
2016-12-02Add debugging log for RLC data block decodingMrinal Mishra1-0/+1
Added debugging log for RLC UL Data Block decoding for both GPRS/EGPRS cases. Change-Id: I8c197bdc4cd1330cbab0adfd188336d27682cec4
2016-11-11Handle packet access reject during EPDAN/PDAN with channel descriptionaravind sirsikar3-0/+51
When PDAN/EPDAN with channel description is received, PCU will generate the packet access reject if no resources are present. The encoding is done based on section 7.1.3.2.1 and 8.1.2.5 of 44.060 version 7.27.0 Release 7. This patch also includes the test case to validate the generated packet access reject message. This patch is integration tested on Osmo-trx setup with Ettus B210 board and LG F70 MS with some simulation code changes in Osmo-pcu. Change-Id: I096a3bb44a65533b9e9b091925dd5f70a8696d6
2016-11-09Handle Immediate assignment rejectaravind sirsikar5-26/+371
When RACH is received, PCU will generate the Immediate assignment reject message if no resources are present. The encoding is done based on section 9.1.20 of 44.018 version 11.7.0 Release 11. This patch also includes the test case to validate the generated Immediate assignment reject message. This patch is integration tested on Osmo-trx setup with Ettus B210 board and LG F70 MS with some simulation code changes in Osmo-pcu. Change-Id: I3d33e2b9746fa4f338fad0e6b63b1c5f07de6f9b
2016-11-02EGPRS: fix for EPDAN out of windowaravind sirsikar2-15/+122
Fix alignment of EPDAN outside the RLC transmit window, according to section 9.1.8.2.4 in 44.060 version 7.27.0 Release 7. The specification explains that a bit within the uncompressed bitmap whose corresponding BSN is not within the transmit window shall be ignored. Without this fix PCU was dropping the EPDAN message and not updating the status of BSNs which are inside the RLC window. This patch updates the status of the BSNs which are inside the window and ignores the remaining bits. Related: OS#1789 Change-Id: Id07d178970f168f5389016c1eea31eb6b82057b6
2016-10-30EGPRS: add test case to show EPDAN BSN out of window bugaravind sirsikar3-0/+140
This patch adds a test case test_tbf_epdan_out_of_rx_window, which expects a current bug with EPDAN for interpretation of the bitmap explained in section 9.1.8.2.4 in 44.060 version 7.27.0 Release 7. The specification explains that a bit within the uncompressed bitmap whose corresponding BSN is not within the transmit window shall be ignored. But current PCU implementation drops the EPDAN and does not update status of the BSN which are inside the window. The test's expectation is corrected along with the bug fix in a subsequent commit. Related: OS#1789 Change-Id: If32b67f5c05707155281128b776a90a1e3d587b2
2016-10-18Revert "tbf: Add state WAIT_ASSIGN"Neels Hofmeyr2-168/+125
This reverts commit f1a7b8fc6651f92a8b7f3f27b7ca05d07f4e44e0. Conflicts: tests/tbf/TbfTest.err The commit broke GPRS service at least for osmo-bts-sysmo on a SysmoBTS 1002 with current master of osmo-bts (ef30f50d5d6d5f863fc147d05ccdceb89284934e). The error observed is the following log output (was viewing both osmo-bts-sysmo and osmo-pcu logs interleaved): <0002> tbf.cpp:874 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=WAIT ASSIGN) T3169 timeout during transsmission <0002> tbf.cpp:893 - Assignment was on CCCH <0002> tbf.cpp:899 - No uplink data received yet <0007> l1sap.c:904 RACH for packet access <0001> pcu_l1_if.cpp:311 RACH request received: sapi=1 qta=0, ra=121, fn=13653 [repeat] When removing this single commit from current osmo-pcu master, GPRS service works well on SysmoBTS, with current osmo-bts master. The TbfTest.err expected output needed adjustment after the revert. Disclaimer: I am not aware of adverse effects this commit may have. I have no idea what the WAIT_ASSIGN state is used for -- further review is required. Change-Id: I1532f8e93194368cdc1e3846f82afa6d68cd5fbd
2016-10-17EGPRS: Add EPDAN CRBB Tree based decodingPravin Kumarvel5-1/+384
Implemented tree based algorithm to decode compressed bitmap in EPDAN as described in section 9.1.10 of 3GPP 44.060. This algorithm intends to improve the performance over existing method. New Regression test is added under bitcomp directory. Test case is added to validate decompressed result of the bitmap Present in EPDAN. Test is done for multiple bitmaps of varying length. Invalid inputs are also part of the test vector. Change-Id: Ieae1992ed4b02bb1e09eec2d3de1a030eabd16ce
2016-09-15Fix EGPRS DL window calculation during tbf updateAravind Sirsikar2-6/+4
Earlier there was no handling for recalculation of DL window size during tbf update. Which has been fixed in this patch. Related: OS#1808 Change-Id: I41aa807068520460fd665a55e3529e60f6bbb630
2016-09-15EGPRS: Fix issue with row 4 of Table 10.4.14a.1 of 44.060 version 7.27.0 ↵Aravind Sirsikar3-20/+12
Release 7 row 4 of Table 10.4.14a.1 of Spec 44.060 version 7.27.0 Release 7. Says "The previous RLC data block contains a Upper Layer PDU, or a part of it, that fills precisely the previous data block and for which there is no length indicator in that RLC data block. The current RLC data block contains a Upper Layer PDU that either fills the current RLC data block precisely or continues in the next RLC data block." So when we receive block with 1st LI: value=0 and Value of E bit in the same octet as 1, we expect 2 chunks with 1st chunk as length as 0 and complete and 2nd chunk as length non zero. But with this bug we see only 1 chunk causing incorrect assembling This issue has been fixed in this patch. Related: OS#1811 Change-Id: I2cd0fca3ed28a553ede3f4b8a7d3267284dd2c9b
2016-09-15EGPRS: add test case to show LI decoding bugAravind Sirsikar4-0/+289
This patch adds a test case test_tbf_li_decoding which expects a current bug with LI decoding for row 4 of Table 10.4.14a.1 in 44.060 version 7.27.0 Release 7. The test's expectation is corrected along with the bug fix in a subsequent commit Related: OS#1811 Change-Id: Ida410dab1aa4b0cf3e15b2090586377eb19b2469
2016-09-14DL TS allocation: add test case to show TS allocation bug for 2nd DL TBFAravind Sirsikar2-0/+54
This patch adds a test case test_2_consecutive_dl_tbfs which expects a current bug with TS allocation for 2nd DL TBF. The test's expectation is corrected along with the bug fix in a subsequent commit Related: OS#1792 Change-Id: I890e4fbb2b64037e051433e70082a197e2a929a6
2016-09-14Fix CSN1 decoding: CSN_LEFT_ALIGNED_VAR_BMP boundsNeels Hofmeyr1-6/+1
Fix attempted read past vector boundaries in case of a starting bit offset != 0, so that the last amount of bits read should be < 8. In the case of CSN_LEFT_ALIGNED_VAR_BMP, the mod-8 calculation was flawed, and in the final step, 8 bits were read instead of the remainder < 8. This lead to -EINVAL being returned by bitvec_get_bit_pos() and bogus resulting data. Instead, read 8 bits only as long as at least 8 bits remain, and read any remaining bits < 8 in a final step. Drop unneeded nB1 variable and an obvious comment. Adjust the unit test assertion in testCsnLeftAlignedVarBmpBounds() in RLCMACTest.cpp. Based on a fix by Aravind Sirsikar <Arvind.Sirsikar@radisys.com>, but implemented differently. Related: OS#1805 Change-Id: I490498c8da6b531f54acb673379379f7b10907c0
2016-09-14CSN1 decoding: add test to show bug in CSN_LEFT_ALIGNED_VAR_BMPAravind Sirsikar1-1/+22
CSN1 decoding currently contains an attempted read past vector boundaries in case of a starting bit offset != 0, so that the last amount of bits read should be < 8. In the case of CSN_LEFT_ALIGNED_VAR_BMP, the mod-8 calculation is flawed, and in what should be the final step of reading n < 8 bits, 8 bits are read instead of n (with an extraneous read of n bits following after that). This leads to -EINVAL being returned by bitvec_get_bit_pos() and bogus resulting data. Add testCsnLeftAlignedVarBmpBounds() in RLCMACTest.cpp to show and expect this bug. The test's expectation shall be corrected along with the bug fix in a subsequent commit. Related: OS#1805 Tweaked-by: Neels Hofmeyr <nhofmeyr@sysmocom.de> Change-Id: I4641f5d1d49f66cb1a5cd813befb3a2a266001b0
2016-09-12TBF flow: unit test compilation error fixAravind Sirsikar1-35/+39
The test failure was introduced by 9bbe1600cc02e1b538380393edb1dcdabe9247a2 "Fix Timing Advance handling": between patch build checking and patch submission, a new section was added to TbfTest.cpp which also needs adjustment. Tweaked-by: Neels Hofmeyr <nhofmeyr@sysmocom.de> Change-Id: If077da5f21fd5cba54556f1dead05a1bc4ea5540
2016-09-09Fix Timing Advance handlingMax2-76/+100
* initialize with invalid TA instead of making assumption that phone is located within 550 meters (TA=0) * only set valid TA Change-Id: Idfc40ff0c11bdac13d9e28fbfa4e95dfc6b735b0 Related: OS#1526
2016-09-02Fix GPRS PUAN encoding: wrong BSN statusAravind Sirsikar1-3/+2
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
2016-09-02GPRS: PUAN encoding: add test case to show wrong BSNs statusAravind Sirsikar1-0/+18
This patch adds a test case which expects a current bug with GPRS PUAN encoding. The test's expectation is corrected along with the bug fix in a subsequent commit Related: OS#1806 Change-Id: Ied0f1dd3037d8fac6a772f4e097defb72634f955
2016-08-30DL: add test case to show wrong window sizeAravind Sirsikar3-0/+111
This patch adds a test case test_tbf_update_ws. Which expects a current bug with DL window size calculation. The test's expectation is corrected along with the bug fix in a subsequent commit Related: OS#1808 Change-Id: I4659494c6f93ae89e4cc4ac79fff5fcaf2d23699
2016-08-28TBF flow: unit test compilation error fixAravind Sirsikar1-1/+1
Change-Id: I89638ba908e7d9964a5525061ce0cf26049be438
2016-08-27Change interface in osmo-pcu for 11 bit RACHbhargava1-4/+5
Interface structure between osmo-bts and osmo-pcu is updated with the parameters to differentiate the type of RACH and further support 11 bit RACH. The function prototype and definitions are changed accordingly. Interface version number is increased. Change-Id: I265c2d92d36d6cbcbeee60cdd8407dafe1da06a4
2016-08-25Fix EGPRS PUAN encoding: use correct urbb_lenAravind Sirsikar2-4/+3
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
2016-08-25EGPRS: PUAN encoding: add test case to show wrong urbb_len issueAravind Sirsikar3-0/+304
This patch adds a test case which expects a current bug with EGPRS PUAN encoding when VQ != VR. The test's expectation is corrected along with the bugfix in a subsequent commit Adds test_tbf_puan_urbb_len to describe the following bug: EGPRS PUAN encoding disregards the urbb_len, leading to identical PUAN messages regardless of the urbb_len. Related: OS#1793 Change-Id: I00662a564f64c0c83627401ae8f7bfef0f0a5de8
2016-08-25Modify EGPRS DL TBF flow to support SPBAravind Sirsikar4-32/+707
Modify the EGPRS DL TBF flow to support Split block during Retx. This patch will also Upgrade the test suite with test cases to validate the EGPRS Downlink SPB for Retransmission Scenarios like MCS6->MCS3, MCS4->MCS1, MCS5->MCS2, MCS9->MCS3 MCS7->MCS2, MCS8->MCS3 have been simulated and Integration tested in NuRAN 1.0 hardware thoroughly. Change-Id: I242afdd8ae7622dec8593b26382ad66bad5b9516
2016-08-02Add support for SPB handling for EGPRS UL TBFAravind Sirsikar3-1/+747
This patch will modify the EGPRS UL TBF flow to support Split block handling. This patch also contains test suite modification for SPB UL. Scenarios like MCS6->MCS3, MCS4->MCS1, MCS5->MCS2, MCS9->MCS3 MCS7->MCS2, MCS8->MCS3 have been simulated and Integration tested in NuRAN 1.0 hardware thoroughly. The scope of Unit testing is limited. Change-Id: I39ca53218b6e0982abc2ab9c703c24c8bf0a09c0
2016-07-26Remove useless ARFCN parameterMax1-5/+5
ARFCN is already part of TRX struct so there's no need to supply it explicitly in a separate parameter. I've tested and those are the same anyway. Change-Id: I8e975c52cbc819427880093b1e5371fe1f8ce460
2016-07-14egprs: Use RLC/MAC headers from libosmocoreTom Tsou1-36/+37
EGPRS Type 1, 2, and 3 headers are used by OsmoPCU and OsmoBTS. Move the header definitions to libosmocore to be shared by both packages. Modify the struct variable naming to use *_hi/*_lo instead of *_a/*_b in order to be consistent with existing naming used in libosmocore. Change-Id: I98687ad981d27502aec42729611937ba1caf207c
2016-07-13Add test cases to support ARQ-II for EGPRS DL RetxAravind Sirsikar3-0/+644
During MCS upgradation such as MCS6->MCS9, 2 blocks which were sent separately as MCS6, will be clubbed into one MCS9 block during retransmission. Same holds good for MCS5->MCS7 transistion. During MCS reduction such as MCS9->MCS6,2 blocks which were sent together will be sent separately during the retransmission case. Same is verified through the generated log file. Currently MCS8->MCS6 transition is not supported. The retransmission MCS is being calculated from Table 8.1.1.2 of TS 44.060. The same test cases are also integration tested on Nuran 1.0 platform. Change-Id: Ia357acfe30f4dea95e00749916c6818354f93285
2016-07-13Modify DL tbf flow for ARQ-II in EGPRS DL RetxAravind Sirsikar1-0/+3
Modify the DL TBF flow to support ARQ-II EGPRS DL retransmission Change-Id: I7a845c98f2018795f0f62240f228411b0bc030c7
2016-06-17Add test cases for Header type1 in EGPRS ULAravind Sirsikar2-0/+124
Update test suite with test cases for Header type 1 in EGPRS UL Change-Id: I21811bb126dbe151b0708a964d3143bc2fd52389 Reviewed-on: https://gerrit.osmocom.org/272 Tested-by: Jenkins Builder Reviewed-by: Harald Welte <laforge@gnumonks.org>
2016-06-15Add test cases for Header Type 2 in EGPRS ULAravind Sirsikar2-1/+128
Updates the test suite to add test cases for Header type 2 parsing in EGPRS UL. Change-Id: I1dd46010065a6d6da21e8e45af71e6d5f649b0b0 Reviewed-on: https://gerrit.osmocom.org/271 Reviewed-by: Harald Welte <laforge@gnumonks.org> Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
2016-06-10tbf_dl: correct tbf name in log message for moving a DL TBFAlexander Couzens1-1/+1
It makes no sense to call functions on null pointer object. Use the name of the old tbf. Change-Id: I93b8c07a0b2de40a11e94fd6c212897cbe3b50ef Reviewed-on: https://gerrit.osmocom.org/212 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
2016-06-07encoding/rlc_copy_from_aligned_buffer: export written payload bytes via an ↵Alexander Couzens1-26/+81
argument Require to count statistics for rlc_dl_payload_bytes. Change-Id: I0e622acb1f13f7489946baf049de4ba1cde6a1fc Reviewed-on: https://gerrit.osmocom.org/142 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
2016-03-30Support puncturing scheme selection for EGPRS DLAravind Sirsikar1-26/+26
Adds support to find the puncturing scheme for retransmission with MCS change, retransmission with no MCS change, transmission case. Puncturing scheme selection for retransmission case with MCS change is aligned with TS 44.060 9.3.2.1. Puncturing scheme selection for retransmission without MCS change, fresh transmission is aligned with TS 44.060 10.4.8a.3.1, 10.4.8a.2.1, 10.4.8a.1.1
2016-03-16Fix issue in encoding CSN_RECURSIVE_ARRAYSaurabh Sharan2-0/+9
The remaining_bits_len is correctly decremented while encoding CSN_RECURSIVE_ARRAY for fixing the bug. Details of the bug is in https://projects.osmocom.org/issues/1641 During introduction of basic EGPRS feature new hex dump message PUASS, from a different working network log was used in Unit test. It exposed the issue of incorrect handling of recursive array encoding in osmo-pcu. Fixes: OS#1641
2016-03-15Add test vectors for EGPRS messagesSaurabh Sharan2-2/+37
This patch is the test suite modification for the fix encoding of padding bits. New test vectors have been added both in downlink and uplink.
2016-03-15Fix encoding of padding bits to start with 0 bitSaurabh Sharan3-21/+21
This patch is for fixing encoding of padding bits according to the 3gpp spec 44.060 section 11, wherein it shall always start with 0 bit followed with spare padding bits. During introduction of basic EGPRS feature new hex dump messages from a different working network log were used in Unit test. These exposed the issue of incorrect handling of padding bits encoding in osmo-pcu. Corrections in the existing test vector of rlcmac is also updated. In testsuite tbf appropriate corrections for the Tbftest.err is also done.
2016-02-22alloc: Fix UBSAN for accessing the array at -16HEADmasterHolger Hans Peter Freyther1-3/+3
This test will check that we exhaust the available TFIs, so the last TFI is -16 and then we try to store to that address. It is surprising that it worked!
2016-02-08edge: Work-around to not use MCS-6 with paddingJacob Erlbeck1-4/+6
Currently single BSN blocks of size 68 (a single unit from MCS-8) are put into a MCS-6 block with padding according to TS 44.060 Annex J. Unfortunately, these packets are ignored by the E71. This might be related to the currently incorrect usage of the puncturing schemes and the RSB bit (the puncturing schemes are not updated and the RBS flag is never set). Avoid downgrading from MCS-8 to MCS-6 if there is no second block available. Send the block twice instead. Sponsored-by: On-Waves ehf
2016-02-08edge: Send a second BSN block in an RLC message if possibleJacob Erlbeck1-139/+91
Currently only one BSN block is encoded in each RLC data message, even if MSC7-9 are used, which transport two independant (except for a max BSN delta of 512) BSN blocks. In that case, the same block is just put twice into the same message. The current create_dl_acked_block(fn, ts) method handles block selection (resend, new BSN, dummy block, ...) and restart handling in one method and is too complex to extend it accordingly. Therefore this commit move the block selection/creation handling into a new method (take_next_bsn) which delivers the next BSN along with a hint, whether it may be combined with another block. In that case, the function can be called a second time (this time with a valid previous BSN, that's the one returned by the first call) to get the second BSN. The real block generation method create_dl_acked_block(fn, ts, index, index2) is then called with both BSNs as indices (the second must be -1, if there is only one BSN). Note that every BSN returned by take_next_bsn should be passed to create_dl_acked_block to avoid state inconsistencies. Sponsored-by: On-Waves ehf
2016-02-08edge: Refactor create_dl_acked_block for multi-block supportJacob Erlbeck1-58/+252
Currently the method is hard-coded to support a single BSN only. MCS-7 to MCS-9 encode 2 data blocks into a single RLC data message. This commit refactors create_dl_acked_block to process any number of blocks internally. Note that this does not extend the parameter list accordingly and just duplicates the BSN if these MCS are being used. Sponsored-by: On-Waves ehf
2016-02-08tbf/tests: Add tests for EGPRS TBF establishmentJacob Erlbeck3-16/+1897
Add a test for EGPRS two phase access based on RA caps. Add a test for DL TBFs where data block are encoded with each MCS. Sponsored-by: On-Waves ehf
2016-02-08rlc: Add with_padding argument to gprs_rlc_data_info_init_dl/ulJacob Erlbeck1-18/+18
The offsets of the data areas change when padding is used (see TS 44.060, 9.3.2.1 and Annex J for details). Extend the parameter lists to pass the with_padding flag and use that information to compute the correct offsets. Sponsored-by: On-Waves ehf
2016-02-08cs: Add GprsCodingScheme::optionalPaddingBitsJacob Erlbeck1-1/+2
Return the amount of optional padding bits, which is 6*8 for MCS-3 and MCS-6 and 0 for all other coding schemes. The padding is needed the encode 68 byte data blocks (MCS-8) with these schemes. See TS 44.060, 9.3.2.1 and Annex J for details. Sponsored-by: On-Waves ehf