aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
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 Tsou3-125/+31
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-13Modify DL tbf flow for ARQ-II in EGPRS DL RetxAravind Sirsikar1-17/+40
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-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-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-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 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-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 Couzens3-10/+28
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 Godin6-0/+1147
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-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-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 Sirsikar3-4/+101
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 Sharan1-0/+1
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-15Fix encoding of padding bits to start with 0 bitSaurabh Sharan1-1/+6
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-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.
2016-02-22Merge remote-tracking branch 'origin/jerlbeck/master'Holger Hans Peter Freyther30-1019/+3212
This adds EDGE support and at the same time is changing a lot of code on GPRS support as well. Due my business decision of completing as much as possible during the time we had the unit test coverage is not as extensive as I had hoped for. This is just the beginning. We do not support mixed GPRS/EDGE support and have plenty of things to improve throughput. Thanks to On-Waves for supporting a project with so many unknowns and uncertainty and Jacob for leading the effort at sysmocom.
2016-02-14Fix missing '-V / --version' in print_help()Harald Welte1-0/+1