aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
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>
2016-05-19Change internal API for consistencyMax3-9/+10
Make TRX API (void *) consistent with the way it's used (integer). Use uint8_t for TRX numbering everywhere (we don't expect hardware with more than 256 transceivers in the near future). This change helps to avoid unnecessary casts and make API much clearer. Change-Id: Ic584611184b0c8b5417ecff0ddae3d526b55a079 Related: SYS#2443 Reviewed-on: https://gerrit.osmocom.org/59 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
2016-05-19add .gitreviewAlexander Couzens1-0/+3
A .gitreview file is required to use git review. More information about git review https://www.mediawiki.org/wiki/Gerrit/git-review Change-Id: I03cbdf3a95bcf36a7388b5fa2652fd774b8f0f5b Reviewed-on: https://gerrit.osmocom.org/68 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
2016-05-17Enable subdir-objects automake optionYves Godin1-0/+1
Change-Id: I01fd264fd1f990f39cdbf309149e0eb857d7732f Related: SYS#2443 Reviewed-on: https://gerrit.osmocom.org/60 Reviewed-by: Harald Welte <laforge@gnumonks.org> Tested-by: Jenkins Builder
2016-05-17Restructure sourcesMax7-20/+29
Move hardware-spicefic files into subdirectory similar to the way it's done in OsmoBTS to make adding new hardware support easier. Change-Id: I05004ad9032759a5dbfa57290ed1df83e89d5cb8 Related: SYS#2443 Reviewed-on: https://gerrit.osmocom.org/58 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
2016-04-22Rename define for direct hw accessMax3-6/+6
2016-04-22Cleanup build leftoversMax1-1/+1
2016-04-13jenkins: Add the build script from jenkins hereHolger Hans Peter Freyther1-0/+42
This can be used to replicate a build issue more easily.
2016-04-01misc: Ignore test files and debian packagingHolger Hans Peter Freyther1-0/+15
2016-04-01debian: Initial debian packagingHolger Hans Peter Freyther7-0/+67
Add initial debian package for plain osmo-pcu (without the sysmoBTS supporot).
2016-03-30fix compiler warnings about format string for size_tHarald Welte1-3/+3
with gcc-5.3 on x86_64 I get the following compliler warnings: warning: format ‘%d’ expects argument of type ‘int’, but argument 7 has type ‘size_t {aka long unsigned int} This patch resolves them
2016-03-30Support puncturing scheme selection for EGPRS DLAravind Sirsikar4-30/+127
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-30Update CPS calculation with new data structuresAravind Sirsikar3-15/+27
Update existing CPS calculation function to align with new data structure introduced
2016-03-30Add data structure for CPS calculation in DLAravind Sirsikar2-0/+27
Define new data structure with respect to TS 44.060 10.4.8a.3.1, 10.4.8a.2.1, 10.4.8a.1.1 for puncturing scheme values and initialize the variable introduced
2016-03-30Refactor the Uplink RLC header parsing functionBhargava Abhyankar2-65/+84
Parsing the uplink data header for GPRS and EGPRS header type 3 is handled in separate functions. This patch will enhance modularity of the code.
2016-03-16Introduce EGPRS header type1 and type2 in ULAravind Sirsikar1-0/+38
Defines new structures for UL EGPRS header type1 and type2 for supporting MCS5-MCS9
2016-03-16Fix issue in encoding CSN_RECURSIVE_ARRAYSaurabh Sharan3-0/+10
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 Sharan4-22/+27
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-03-04pcu: Fix compiler warning about using stringHolger Hans Peter Freyther1-1/+1
Make the gsmtap hostname const to avoid turning a constant into a mutable character. We never tried to modify the string so the warning didn't reveal a genuine issue. pcu_main.cpp:49:28: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings] static char *gsmtap_addr = "localhost"; // FIXME: use gengetopt's default value instead
2016-03-04tbf: Fix copy and paste in the set_mode routineHolger Hans Peter Freyther1-1/+1
This is the second attempt to fix what looks like a copy and paste issue. The code assigns m_current_cs_ul and then compares the _dl variant, then assigns m_current_cs_ul with a default value. It seems to indicate that _ul should be used. Fixes: Coverity: CID 1351733
2016-03-04Revert "Refactor coding scheme assignment code"Holger Hans Peter Freyther1-33/+32
Roll-out the refactoring change. The code did not include the necessary update to the test result and there are some concerns about it in itself and the right approach would have been to fix the copy and paste issue, then do the refactoring. This reverts commit 22d7e75e1f160e5337140d9f3dcb2679b621b646.
2016-02-25Refactor coding scheme assignment codeMax1-32/+33
Previously this code used too much copy-paste of boilerplate code which is error-prone and hard to read. Factor out actual (M)CS assignment into separate function and use it for both DL and UL cases in respective mode. Fixes: Coverity: CID 1351733
2016-02-22alloc: Fix UBSAN for accessing the array at -16Holger 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-22Add gsmtap support to generic btsMax1-11/+27
Instrument TX and RX functions dealing with regular BTS (without direct DSP access) to use GSMTAP. Previously only DSP-related functions were instrumented.
2016-02-22Introduce --gsmtap-ip/-i optionMax4-7/+23
This option allows user to use custom IP address instead of default "localhost". Correspondingly gsmtap init moved from sysmoBTS-specific code up to "bts" struct level. This way it can be easier reused by other implementations. The lack of regressions was verified by checking following command on sysmoBTS: "./osmo-pcu -c osmo-pcu.cfg -r 1 -i 192.168.10.1" where 192.168.10.1 is the host which was running wireshark and netcat: "nc -u -l 192.168.10.1 -p 4729" to accept gsmtap flow.