summaryrefslogtreecommitdiffstats
path: root/src/gb/gprs_bssgp.c
Commit message (Collapse)AuthorAgeFilesLines
* gprs: Fix bssgp_rcvmsg to handle signalling msgs with BVCI IEJacob Erlbeck2014-09-231-3/+7
| | | | | | | | | | | | | | | | | | | Currently BSSGP messages with an NS BVCI of 0 (signalling) are discarded if they aren't RESET messages. Thus valid signalling messages (e.g. BLOCK) are not handled properly, because the BVCI IE is ignored if it present. Instead a STATUS message referring to BVCI 0 (instead of the BVCI used in the BLOCK message) is returned. This patch changes the implementation to use the BVCI contained in the BVCI IE if that is present in a signalling message. It fixes BSSGP BLOCK/UNBLOCK for the osmo-sgsn. Note that signalling messages without an BVCI IE (e.g. SUSPEND/RESUME) are still rejected. Ticket: OW#1205 Sponsored-by: On-Waves ehf
* gprs: Fix and check BVCI in BSSGP STATUS messagesJacob Erlbeck2014-09-231-1/+1
| | | | | | | | | | | | | | Currently the BVCI is not set in all invocations to bssgp_tx_status() when the cause is UNKNOWN_BVCI. This patch adds the argument where it is missing. It also adds a check for compliance (GSM 08.18, 10.4.14.1) to bssgp_tx_status() to emit errors when the following requirement is not fulfilled: The BVCI must be included if (and only if) the cause is either "BVCI blocked" or "BVCI unknown". Sponsored-by: On-Waves ehf
* BSSGP: prevent divide-by-zero in flow controlHarald Welte2013-06-291-10/+33
| | | | | | | If the BTS tells us to not send any data at all anymore (bucket leak rate of 0 bits per second), then we should respect this and not run into a divide-by-zero. However, as this indicates complete overload, we print a log message to that regard.
* BSSGP: make bvc_ctx->fc a dynamic talloc allocationHarald Welte2012-09-071-5/+7
| | | | | this ensures that we can talloc the flow-control queue entries as siblings off the bvc_ctx.
* BSSGP flow-control: various fixesHarald Welte2012-09-071-10/+35
| | | | | | | * add more comments on units of struct members * make sure to parsre FC-BVC message correctly * add error message in case user passes PDU larger than bucket size * add new function to initialize flow control struct
* libosmogb: Port BSSGP flow control from openbsc/laforge/bssgp_fc branchHarald Welte2012-09-071-4/+223
| | | | | | | | This code is supposed to implement the BSSGP flow control algorithm, both for the per-BSS and for the per-MS flow control. The code currently has no test cases, they will come in a separate commit.
* BSSGP: fix unused variable compiler warningsHarald Welte2012-09-071-8/+2
|
* bssgp: check for IMSI being a null pointer, not just an empty string.Harald Welte2012-07-041-1/+1
|
* libosmogb: move files to proper location and fix buildHarald Welte2012-06-171-0/+919