aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/gprs/gprs_llc.c
AgeCommit message (Collapse)AuthorFilesLines
2012-01-06gprs: Honor GSM 04.64 8.4.2 Receipt of unacknowledged informationHolger Hans Peter Freyther1-2/+3
GSM 04.64 8.4.2 asks to ignore UI frames if the DLCI is not known, or if the "(V(UR)- 32) <= N(U) < V(UR)". E.g. if we want to have V(UR) == 511 and this frame is dropped, we would ignore N(U)'s 0 to 510. Calculate the delta. The code is based on Jonathan Santos's "LLC UI window" fix but the issue was discovered independly.
2011-10-16GPRS LLC: fix compiler warningHarald Welte1-1/+1
2011-10-16LLC: Add minimal LLGMM-RESET.req implementationHarald Welte1-11/+67
Using LLGMM-RESET.req, the GMM can request the LLC of the MS to reset all its parameters, particularly the sequence numbers. We don't yet do XID RESET retransmissions, and we don't yet generate a LLGMM-RESET.conf primitive back to GMM.
2011-10-14gprs: Fix various compiler warningsHolger Hans Peter Freyther1-2/+2
2011-07-27LLC: Fix format stringDieter Spaar1-1/+1
2011-03-23src: use new library libosmogsm and new path to headers in libosmocorePablo Neira Ayuso1-4/+4
libosmogsm is a new library that is distributed in the libosmocore. Now, openbsc depends on it. This patch gets openbsc with this change. This patch also rewrites all include path to the new osmocom/[gsm|core] Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
2011-01-01[SGSN] Fix processing of RA Update Request regarding TLLIHarald Welte1-0/+21
In case we get a RA UPD REQ on a new cell (both served by the same SGSN), the LLC stack should not allocate a ne LLE/LLME, as the latter would reset the V(u)sent / V(u)recv to zero and make the MS discard our responses. Instead, whenever the LLC stack sees a foreign TLLI, it should always convert it to the local TLLI before doing any lookup for a LLE/LLME.
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-07-03gprs/llc: Don't check FCS in gprs_llc_hdr_dumpSylvain Munaut1-2/+2
The FCS isn't computed yet (because of ciphering). It _will_ be tested and reported as wrong later in the code so we can just display it here and let the latter code report the error if any. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-07-02[SGSN] LLC: only copy Kc if algorithm != GPRS_ALGO_GEA0Harald Welte1-1/+2
The caller currently has set the Kc pointer to NULL, this fix avoids crashing at the callee.
2010-07-02[SGSN] LLC: Make sure we calculate FCS after decryptionHarald Welte1-10/+5
2010-07-02[SGSN] Use libosmocore GPRS encryption plugins from LLC layerHarald Welte1-8/+88
This adds the bits that call into libosmocore (and its plugins) to implement GPRS (LLC) encryption.
2010-07-02[SGSN] Call libosmocore helper to load cipher pluginsHarald Welte1-0/+5
2010-07-01[SGSN] Fix TLLI (re)assignmentsHarald Welte1-13/+18
Once The TLLI (or P-TMSI of which it is derived) change has been confirmed by the MS, we need to unassign the old TLLI but keep the new TLLI _without_ re-setting the LLC entity structure such as VUsend /VUrecv counters.
2010-06-28[SGSN] LLC: properly free LLC entities at TLLI unassignmentHarald Welte1-0/+7
2010-06-23gprs: Fix LOGP misuse and specify LOGL_NOTICE as region.Holger Hans Peter Freyther1-1/+2
2010-06-03[GPRS] LLC: Implement per-SAPI default values for LLC parametersHarald Welte1-6/+81
2010-06-01[GPRS] hand SNDCP N-PDUs to the GTP to the GGSNHarald Welte1-4/+15
This so far only works for UNIT-DATA and only if the N-PDU is not fragmented at the SNDCP layer.
2010-06-01[GPRS] Major LLC / TLLI handling fixesHarald Welte1-36/+119
* 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-3/+4
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-30[GPRS] LLC: Increment V(U) and N(U)Harald Welte1-0/+4
2010-05-23gprs: Cast the lh to uint_8* and make the other method non-constHolger Hans Peter Freyther1-2/+2
We are assigning the header to non const methods... so make the param non-const.
2010-05-23gprs: make gprs_llc_hdr_dump return void.Holger Hans Peter Freyther1-1/+1
2010-05-23gprs_llc.c: memset the llhp struct to be sure it is initialized.Holger Hans Peter Freyther1-0/+1
2010-05-18[GPRS] LLC: Fix logic to detect unknown TLLI/SAPIHarald Welte1-8/+10
2010-05-18[GPRS] LLC: print human-readable LLC command typeHarald Welte1-1/+17
2010-05-18[GPRS] LLC: Add VTY interface for LLCHarald Welte1-35/+1
2010-05-13[GPRS] LLC: Start using different log levelsHarald Welte1-4/+5
2010-05-13[GPRS] LLC: Use DLLC instead of DGPRSHarald Welte1-9/+9
2010-05-13[GPRS] LLC: Improve implementation compliance to specHarald Welte1-13/+42
Don't allocate a LLC Entity just because BSSGP passes any random SAPI/TLLI up to us. We can only do this for XID and UI frames of the GMM SAPI. Furthermore, add more comments and debug messages.
2010-05-04[gprs] Move all GPRS related code to src/gprs subdirectoryHarald Welte1-0/+549