aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
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 Sirsikar11-79/+957
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-25Add data structure to handle SPB for EGPRS DLAravind Sirsikar2-4/+45
Modify the header files with necessary data structure to handle Split block for EGPRS DL TBF. The EGPRS resegmentation feature allows PCU to retransmit RLC blocks of HeaderType1, HeaderType2 by segmenting them to 2 HeaderType3 blocks(Example MCS5 will be retransmitted as 2 MCS2 blocks). Table 10.4.8b.2 of 44.060 explains the possible values of SPB in HeadrType3 for DL direction. The PCU decides to retransmit the blocks by resegmenting it based on Table 8.1.1.1 of 44.060. The retransmission MCS is calculated based on current MCS of the Block and demanded MCS by PCU. Section 10.3a.3.3 of 44.060 shows the HeadrType3 with SPB field present in it Change-Id: I57673e53a9da2affa7e8aaa6551ac4b271c3d525
2016-08-22Remove warning while using 'egprs only' command in VTYAravind Sirsikar1-6/+0
This warning is not valid since the PCU is not failing when EGPRS is activated. So removing this trace Change-Id: I62278f998adc691b9a3563ac2a46d756e7bfb66c
2016-08-16jenkins.sh: drop compat with old matrix paramsNeels Hofmeyr1-9/+0
Change-Id: I7b50a24cf5879cb473a5cf929768bdd30e863a26
2016-08-11jenkins.sh: change build matrix to $with_dsp and $with_vtyNeels Hofmeyr1-19/+43
The new $with_dsp matrix parameter is defined as "sysmo" or empty/"none". The lc15 DSP might be added in the future. Fetch the sysmo layer 1 API only if with_dsp==sysmo. The new $with_vty parameter is independent of $with_dsp, it is now up to jenkins to define a matrix filter. For compat, until jenkins is reconfigured with the new matrix parameters, use $sysmodsp to init the new parameters to reflect previous behavior. The $sysmobts matrix parameter made no sense, drop it. Change-Id: Ia120f918342dc9563814252258b73bfb267e5253
2016-08-11jenkins.sh: more quotes, cosmetics, less dupNeels Hofmeyr1-17/+16
Rename BTS_CONFIG to PCU_CONFIG. More quotes. Unify bash if-style. Define *_PATH variables once globally instead of duping in every line. Change-Id: If148632c3f340a8a395fa432135e593fecc41e82
2016-08-11jenkins.sh: use absolute paths instead of 'cd ..' and $PWDNeels Hofmeyr1-11/+16
Change-Id: If79d283fa0a559bb7ea319c513d09466eff523d1
2016-08-11jenkins.sh: ensure $MAKE is setNeels Hofmeyr1-0/+5
Change-Id: I2da8acdfe3abf79f68db4d00d04a7d162f0123ce
2016-08-09LC: fix build errorMax1-1/+1
Remove extra parameter which causes build to break. The error was introduced in 878bd1f296379ffba949d6fcae2938c13406df5b Change-Id: Id63187d925d448caa4fa85720582550919b1f216
2016-08-04Extend BTS <-> PCU protocol with measurementMax2-2/+13
Note: this increases the version of BTS <-> PCU protocol and thus requires corresponding change in BTS. Change-Id: Ide0e29b668ee38516605c1763fda85e87e867813 Related: OS#1616
2016-08-02Add support for SPB handling for EGPRS UL TBFAravind Sirsikar6-25/+908
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-08-02Add data structure for SPB in EGPRS ULAravind Sirsikar1-0/+40
Modify header files with data structures required to support split blocks for EGPRS UL TBF This feature provides provision for MS to retransmit RLC blocks of HeaderType1, HeaderType2 by segmenting them to 2 HeaderType3 blocks(Example MCS5 will be retransmitted as 2 MCS2 blocks). Table 10.4.8b.1 of 44.060 explains the possible values of SPB in HeadrType3 for UL direction. When the MCS is changed at the PCU, PCU directs the changed MCS to MS by PUAN or UPLINK ASSIGNMENT message along with RESEGMENT flag, Then MS may decide to retransmit the blocks by resegmenting it based on Table 8.1.1.1 of 44.060. The retransmission MCS is calculated based on current MCS of the Block and demanded MCS by PCU. Section 10.3a.4.3 of 44.060 shows the HeadrType3 with SPB field present in it. Change-Id: I83ccd136bb361adcfd511c57c5a9d95ed72c36c2
2016-07-28Properly set TA_VALID bitMax1-3/+6
Check Timing Advance validity and set corresponding bit for Immediate Assignment message. Previously !polling was errorneously used (polling bit has nothing to do with TA validity according to 3GPP TS 44.018 Table 10.5.2.16.1) which lead to TA being always valid as polling is always 0 in other parts of the code. Change-Id: I5d7ecc7f71402b945cae99332be2ebc0b17b9d44 Related: OS#1526
2016-07-26Remove useless ARFCN parameterMax6-15/+13
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-23Cleanup readmeMax1-1/+0
Remove note on PCCCH/PBCCH support because according to 3GPP TS 44.060 version 12.5.0 Release 12 § 1.6 "The network shall never enable PBCCH and PCCCH". The rationale behind this from GP-091955: "Due to that P-channels are not deployed by any operator and are not expected ever to be, it has decided to remove the requirement on mandatory support of P-channels for the mobile stations in A/Gb mode." Change-Id: I2b16413e1b6ce8f2bc2e8183165fb6b3aa14f2d0
2016-07-20Remove unused definitionsMax2-34/+0
Those structs are not used anywhere (which was the case in the commit which introduced them as well) but give false-positives while grepping through the code. Better to just drop them. Change-Id: I0a0bb0c641e4e081a57f72187ff96e9beef16588
2016-07-14egprs: Use RLC/MAC headers from libosmocoreTom Tsou4-161/+68
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-13bitvector: Remove code clone and fallback to C implementationHolger Hans Peter Freyther2-18/+7
This routine has been moved from from here to libosmocore and as part of the C++ -> C the reference got converted to a pointer. We have a lot of code that calls the method with the reference and instead of updating the callers, create a short inline wrapper to call the C routine. Change-Id: Idd16ce251a42bad4401c2bf3a8fa6af70fb600ff
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 Sirsikar2-17/+43
Modify the DL TBF flow to support ARQ-II EGPRS DL retransmission Change-Id: I7a845c98f2018795f0f62240f228411b0bc030c7
2016-07-13Add Accessor functions for ARQ-II in EGPRS DLAravind Sirsikar3-1/+22
Add accessor function in existing classes to support ARQ-II for retransmission in EGPRS DL Change-Id: Iefff956bf2dcfe8fb0b2f5a7a7a2122d5d555f9e
2016-07-12Add data structure for ARQ-II in EGPRS DLAravind Sirsikar5-10/+60
Modify the existing data structure to support ARQ-II for Retx in EGPRS DL. This will also hadle compilation issue related to renaming the variable. Change-Id: I734b1024bb32f2daa43af4adf59f4a17f2294afe
2016-06-30systemd service file: Stop using deprecated '-e' optionHarald Welte1-1/+1
In commit 6d8884de490d09902e9e31a90bab9ef490ef5d82 in 2014, we made the '-e' command line option deprecated. Stop using it from the systemd srevice file. Change-Id: I322cadbee8980b78fff2984765c4b0216c50412e Related: SYS#2749
2016-06-20typo in warningNeels Hofmeyr1-1/+1
(actually committing just to test gerrit, and if it goes through it's still a valid change.) Change-Id: I2ca9a1cc2f250801fbe62f3c50b73dff7101ee08
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-16Add header type 1 support for EGPRS uplinkAravind Sirsikar6-9/+75
Function is added to parse the EGPRS header type 1 in uplink tbf path. along with configuration parameter updation to reflect max mcs in UL Change-Id: I13c250e2e07377982ac3f29745f3cffd4088552a Reviewed-on: https://gerrit.osmocom.org/270 Reviewed-by: Harald Welte <laforge@gnumonks.org> Tested-by: Jenkins Builder
2016-06-16Add Header Type2 support in EGPRS ULAravind Sirsikar3-4/+54
This patch will add support for MCS5,6 in EGPRS UL along with incorrect assert correction to let MCS 6 work. Change-Id: Iac2422c8acbdcefe20aafbba6a4eb87c9893e3ba Reviewed-on: https://gerrit.osmocom.org/269 Tested-by: Jenkins Builder Reviewed-by: Harald Welte <laforge@gnumonks.org>
2016-06-16Remove GMSK only check in EGPRS ULAravind Sirsikar1-9/+0
Since we are supporting MCS 5-9 in this patch series for EGPRS UL, This condition is not relevant. So removing it. Change-Id: I567acc012d8ad49681715f0104ba7e91625e1e7a Reviewed-on: https://gerrit.osmocom.org/268 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: replace this == NULL check in tbf->nameAlexander Couzens1-4/+1
All checks of (this == null) will be eliminated by GCC >= 6.1 (https://gcc.gnu.org/gcc-6/changes.html, Value range propagation now assumes that the this pointer of C++ member functions is non-null. Change-Id: Ifddaef70bb0a4402050c817b1000d515c3a7118b Reviewed-on: https://gerrit.osmocom.org/136 Tested-by: Jenkins Builder Reviewed-by: Harald Welte <laforge@gnumonks.org> Reviewed-by: Holger Freyther <holger@freyther.de>
2016-06-10tbf_dl: correct tbf name in log message for moving a DL TBFAlexander Couzens2-2/+2
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-07add KPI counter to count bytes for RLC and LLC framesAlexander Couzens5-1/+41
rlc.dl_bytes bytes before sending rlc rlc.dl_payload_bytes count data w/o LI rlc.ul_bytes bytes when received rlc (only valid) rlc.ul_payload_bytes count data fragments w/o LI llc.dl_bytes complete encapsulated LLC PDUs llc.ul_bytes complete received LLC PDUs Change-Id: I9a98a5a375d39b3f4990360056c4d6145e755f4d Reviewed-on: https://gerrit.osmocom.org/145 Reviewed-by: Harald Welte <laforge@gnumonks.org> Reviewed-by: Holger Freyther <holger@freyther.de> Tested-by: Jenkins Builder
2016-06-07encoding/rlc_copy_from_aligned_buffer: export written payload bytes via an ↵Alexander Couzens4-36/+109
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-06-07tbf_dl: comment why we sent a dummy LLC packets to delay the release of the TBFAlexander Couzens1-0/+2
Change-Id: I1862674437dffef4de3ffa7b183ecf690020b0ec Reviewed-on: https://gerrit.osmocom.org/143 Reviewed-by: Harald Welte <laforge@gnumonks.org> Tested-by: Jenkins Builder
2016-06-01decoding: remove superfluous double-semicolonAlexander Couzens1-1/+1
Change-Id: I48ec24f2e10620279cbcbf39c70a4be6438f6b0f Reviewed-on: https://gerrit.osmocom.org/140 Reviewed-by: Harald Welte <laforge@gnumonks.org> Tested-by: Jenkins Builder
2016-06-01rlc.h: correct gprs_rlc_data commentAlexander Couzens1-2/+2
It's the block data, not the history. Also add including LI headers. Change-Id: Id4d99d1d21c7fa372771fd569d87bbcf2c6b6d22 Reviewed-on: https://gerrit.osmocom.org/144 Reviewed-by: Harald Welte <laforge@gnumonks.org> Tested-by: Jenkins Builder
2016-05-31encoding: add doxygen for rlc_data_to_dl_append*Alexander Couzens1-0/+31
Change-Id: I6ead0f1d14a91c657448227e17438b49a54e6c4a Reviewed-on: https://gerrit.osmocom.org/141 Tested-by: Jenkins Builder Reviewed-by: Harald Welte <laforge@gnumonks.org>
2016-05-31decoding: improve and add commentsAlexander Couzens2-2/+4
Change-Id: I45c9fc55243224909ca2fdece8cbfa686b0f444d Reviewed-on: https://gerrit.osmocom.org/139 Tested-by: Jenkins Builder Reviewed-by: Harald Welte <laforge@gnumonks.org>
2016-05-25add comments to describe functionsAlexander Couzens2-0/+2
Change-Id: Ie351632001abbeb82008a5eecae0d0323a8ef7d7 Reviewed-on: https://gerrit.osmocom.org/106 Reviewed-by: Harald Welte <laforge@gnumonks.org> Tested-by: Jenkins Builder
2016-05-25tbf_ul: use correct size for chunk_sizeAlexander Couzens1-1/+1
The size of the hole array in bytes was used instead of the size of elements. Change-Id: If6bf3e5f1ad773ddaa9fb2ce7c069e6b26659cbf Reviewed-on: https://gerrit.osmocom.org/105 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
2016-05-25rlc.h: remove duplicated define RLC_EGPRS_SNSAlexander Couzens1-1/+0
The second #define RLC_EGPRS_SNS is 3 lines below of the first one. Change-Id: Ibb718ba9be21831c56c5949e730fab5acd691d7c Reviewed-on: https://gerrit.osmocom.org/107 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
2016-05-24bts/counter: replace '_' with '-' in counter namesAlexander Couzens1-2/+2
Conform to the convention. Change-Id: I6162694aae8d354aba318cc1acfdac108239fef0 Reviewed-on: https://gerrit.osmocom.org/103 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
2016-05-22introduce new counter rlc_sent_controlAlexander Couzens3-0/+6
Counts control messages (UL/DL assignment, UL ACKs or page requests) Change-Id: Ib41031d430beddfb48d54470e632436f2c99c360 Reviewed-on: https://gerrit.osmocom.org/99 Reviewed-by: Holger Freyther <holger@freyther.de> Tested-by: Jenkins Builder
2016-05-22gprs_rlcmac_sched: fix mistype of CONTROL ACKAlexander Couzens1-1/+1
Change-Id: If37b33f69cd659d913ed81eb6060a42734ba524f Reviewed-on: https://gerrit.osmocom.org/100 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
2016-05-22tbf_dl: replace cross-file declaration with correct headerAlexander Couzens1-5/+1
Change-Id: I9b4eb664d444258c9bcf53f9b44552d8dd3155e9 Reviewed-on: https://gerrit.osmocom.org/95 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
2016-05-22bts/rate_ctr: replace spaces by tabsAlexander Couzens1-1/+1
Use tabs like other counters for seperation. Introduced by 2cb1547 Change-Id: I32eebfe5934c919eccc1e28938ca00c49368297e Reviewed-on: https://gerrit.osmocom.org/96 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
2016-05-21introduce new counter rlc_sent_dummyAlexander Couzens3-1/+9
rlc_sent_dummy count the amount of dummy package which are sent in case no data packet is in the queue. Change-Id: Ia60eab853d9145980f30d63e4ce4b520b8c51381 Reviewed-on: https://gerrit.osmocom.org/85 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
2016-05-20move statistics counter rlc_sent() to gprs_rlcmac_schedAlexander Couzens2-3/+4
The counter rlc_sent has nothing to do with the TBF. The RLC packet got sent in the gprs_rlcmac_sched(). Change-Id: I5d2b910ea7cc250f17530406eda3be9b29b051fd Reviewed-on: https://gerrit.osmocom.org/84 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
2016-05-20Add support for NuRAN Wireless Litecell 1.5 BTSYves Godin7-0/+1166
Layer 1 compatibility with previous generation or NuRan GSM product, therefore the support for the Litecell 1.5 uses its own sources instead of using tons of ifdef/endif. Max's amendments: * make headers path configurable * use configured TRX instead of hardcoded value * split subdir-objects into separate commit * cosmetic changes Change-Id: Ib1287375cb10a889625bbac8528fa60deed23a2b Fixes: SYS#2443 Reviewed-on: https://gerrit.osmocom.org/61 Tested-by: Jenkins Builder Reviewed-by: Harald Welte <laforge@gnumonks.org>