aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/gprs/gprs_bssgp.c
AgeCommit message (Collapse)AuthorFilesLines
2011-03-03Move 'Gb' protocol stack into its own src/gb subdirectoryHarald Welte1-856/+0
2011-01-01License change: We are now AGPLv3+ instead of GPLv2+Harald Welte1-6/+5
The reason for this is quite simple: We want to make sure anyone running a customized version of OpenBSC to operate a network will have to release all custom modifiations to the source code.
2010-12-12Add mandatory routeing area IE to SUSPEND-NACKDieter Spaar1-1/+5
2010-07-23[gprs] BSSGP: Fix null pointer dereferenceHarald Welte1-2/+3
Zecke has found this using "make CC="clang --analyze"
2010-06-30[SGSN] BSSGP: Print TLLI as hex value like everwhere elseHarald Welte1-1/+1
2010-06-10[gprs] bssgp: Fix LLC PDU length encoding in BSSGP.Sylvain Munaut1-1/+1
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-06-10[GPRS] BSSGP/SGSN: Implement Gb-Interface PagingHarald Welte1-0/+63
We now have a function that generates BSSGP PS and CS paging request. It is called from the libgtp code when we receive a GTP packet from the GGSN for a MM context that is in SUSPEND state. We then issue a PS paging request to the Cell with the BVCI where the last RA update was being performed. TODO: We still don't enqueue the GTP packet (and transmit it on paging complete), and we don't rate-limit the paging requests, i.e. every GTP packet will trigger another paging request. We probably also need some kind of logic that marks the phone as UNREGISTERED if it doesn't respond to paging requests for some time.
2010-06-09[GPRS] SGSN: Pass BSSGP SUSPEND/RESUME up to GMM and alter MMCTX stateHarald Welte1-4/+16
2010-06-01[GPRS] Major LLC / TLLI handling fixesHarald Welte1-1/+1
* separate the LLME and LLE state in the LLC layer * introduce gprs_llgmm_assign() function for LLGMM-ASSIGN.req primitive * change QoS profile to match 'real' SGSN * Update the new TLLI when assigning a P-TMSI The result now is that the LLC layer is notified of TLLI changes, which in turn means it doesn't allocate a new LLE structure every TLLI change, which again in turn means that the UI frame sequence number does not reset to zero. As a result, MS should no longer ignore frames based on wrong UI sequence number.
2010-05-31[GPRS] Include IMSI and DRX params in BSSGP DL-UDHarald Welte1-2/+34
When we send a downlink unit-data request via BSSGP, there is a lot of information that needs to be copied from the mm context, such as the IMSI, DRX parametes, MS radio access parameters, ... This is a quite strange layering violation, since we now need to pass a pointer to the MM ctx from GMM through LLC into BSSGP :(
2010-05-31[GPRS] BSSGP: Fix way too long TLLI debug lineHarald Welte1-1/+1
2010-05-31[GPRS] BSSGP: More verbose debug log / error reportingHarald Welte1-34/+86
2010-05-31[GPRS] BSSGP: When we receive a BLOCK, we should not respond with UNBLOCK-ACKHarald Welte1-2/+1
2010-05-30[GPRS] BSSGP: Acknowledge all SUSPEND and RESUME requestsHarald Welte1-0/+103
This is of course not the correct way of dealing with it, but for now it should make the Ericsson Mobile Plafrom based phones happy (they insist to do a suspend/resume cycle before pdp ctx act)
2010-05-23gprs_bssgp.c: Return something from non void methods.Holger Hans Peter Freyther1-1/+3
In one use the rc variable we are assigning to, in the others return 0 even if we have a FIXME there.
2010-05-23gprs_bssgp.c: Cast const of TLVP_VAL away.Holger Hans Peter Freyther1-2/+2
Fix a compiler warning, we cast the const away at various other parts in the code as well. We should consider removing the const from the TLV struct..
2010-05-18[GPRS] BSSGP: Use correct values for SIGNALLING and PTM BVCIHarald Welte1-5/+5
2010-05-17[GPRS] BSSGP: Add VTY for configuration and inpectionHarald Welte1-0/+4
This also includes log filtering based on NSEI/BVCI tuple
2010-05-17[GPRS] BSSGP: Introduce packet/byte countersHarald Welte1-0/+17
2010-05-17[GPRS] BSSGP: expose more internal structures / APIHarald Welte1-27/+4
2010-05-17[GPRS] BSSGP: Rename bssgp_bts_ctx to bssgp_bvc_ctxHarald Welte1-19/+19
The Context really is about a BVC (BSSGP Virtual Connection). In the case we operate BSSGP on the SGSN side, this corresponds to a link to a BTS.
2010-05-13[GPRS] BSSGP: Refuse blocking of signalling BVC; Ignore traffic on blocked BVCHarald Welte1-0/+22
2010-05-13[GPRS] BSSGP: Make implementation more robustHarald Welte1-97/+216
We now actually are much more in line with what the specification says. We track the blocked/unblocked state, we don't accept signalling messages on PTP functional entities (and vice versa), and we don't simply create a BVC context with messages other than BVC-RESET.
2010-05-13[GPRS] BSSGP: Elaborate more on FIXMEsHarald Welte1-8/+10
And fix mistake regarding FLUSH-LL / FLUSH-LL-ACK direction
2010-05-11[gprs] BSSGP: cosmetic cleanupHarald Welte1-9/+2
2010-05-11[gprs] gb_proxy: Send proper BSSGP STATUS msg in error caseHarald Welte1-82/+0
In order to reuse the existing bssgp_tx_* functions without pulling in the dependencies of gprs_bssgp.c, we have to move those functions to gprs_bssgp_util.c Furthermore, we can remove gbprox_nsi and replace it with bssgp_nsi, and we can do proper processing of BVC-RESET messages coming from the SGSN on the signalling BVC. In that case we need to send RESET messages to all the BSS.
2010-05-11[gprs] Add new 'NS' and 'BSSGP' logging categoriesHarald Welte1-22/+22
2010-05-04[gprs] Move all GPRS related code to src/gprs subdirectoryHarald Welte1-0/+537