aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/gprs
AgeCommit message (Collapse)AuthorFilesLines
2010-07-23[gprs] BSSGP: Fix null pointer dereferenceHarald Welte1-2/+3
Zecke has found this using "make CC="clang --analyze"
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-03[SGSN] Some IEs in ATTACH REQUEST can be longer in 24.008Harald Welte1-1/+3
The original length checks were based on 04.08, but 24.008 allows longer IEs.
2010-07-03[SGSN] Initial work on GMM authentication and cipheringHarald Welte1-9/+103
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] use GPRS_ALGO_GEA0 instead of '0'Harald Welte1-6/+11
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 Welte2-0/+8
2010-07-02[SGSN] remove bogus debug statementHarald Welte1-1/+0
2010-07-02[SGSN] SM: Properly parse APN and PCO Optional IE in PDP CTX ACT REQHarald Welte1-2/+8
2010-07-02[SGSN] Print AP name and PDP address of each PDP contextHarald Welte1-1/+70
2010-07-02[SGSN] Correctly pass IMSI of MM ctx to GTP/GGSNHarald Welte1-1/+27
2010-07-02[SGSN] SNDCP: Subtract SNDCP header from fragment lengthHarald Welte1-2/+3
We don't want to store too many bytes as we would otherwise create too large re-assembled packets..
2010-07-02[SGSN] SNDCP: SN-PDUs need a 16bit length fieldHarald Welte1-1/+2
The BSSGP LLC-PDU IE can have up ot 16bit length, so subtracting the LLC header the SN-PDU can still have almost a length field close to 0xffff
2010-07-02[SGSN] SNDCP: re-set total number of fragment lengthHarald Welte1-1/+7
2010-07-02[SGSN] Send poper SM and GMM STATUS in case we have no MM CTXHarald Welte1-1/+2
2010-07-02[SNDCP] some more defragmentation debug statementsHarald Welte1-11/+9
2010-07-02[SGSN] SNDCP defrag: use correct length, don't include LLC FCSHarald Welte1-3/+4
The LLC layer tells us the PDU length, and we have to use it in SNDCP rather than to re-calculate it if we want to avoid copying the CRC24 into the defrag elements.
2010-07-02[SGSN] SNDCP: Actually copy the payload data in the defrag queue entryHarald Welte1-0/+2
Prior to this patch our defragmented messages always consisted of 00-bytes
2010-07-02[SGSN] Remove old dead codeHarald Welte1-17/+14
2010-07-02[SGSN] Only increment PDP CTX ACT count after check for retransmissionHarald Welte1-2/+4
2010-07-02[SGSN] Account for re-transmitted PDP CTX ACT REQHarald Welte1-2/+11
In case our PDP CTX ACT ACK gets lost on the Gb or Um link, the MS re-transmits the PDP CTX ACT REQ. We have to ACK it again instead of REJecting it..
2010-07-02[SGSN] SNDCP: Fix off-by-one error missing last segment in defragHarald Welte1-1/+1
When we defragment the segments from the defrage queue, we have to iterate all the way up to (and including) the last segment number that we have received.
2010-07-01[SGSN] SNDCP: more verbose defragmentation debuggingHarald Welte1-2/+8
2010-07-01[SGSN] Fix segfault when passing re-assembled SN-PDU to GMMHarald Welte3-8/+10
sgsn_rx_sndcp_ud_ind() can no longer make the assumption that msgb_bcid() is valid, as this is only true for an un-fragmented SN-PDU. So instead, we now store the RAID in the SNDCP Entity and pass it as an explicit argument to sgsn_rx_sndcp_ud_ind().
2010-07-01[SGSN] SNDCP: fix off-by-one error during defragmentationHarald Welte1-1/+1
2010-07-01[SGSN] SNDCP: Initialize defrag list headerHarald Welte1-0/+1
2010-07-01[SGSN] GMM: Complete value_string for GMM cause valuesHarald Welte1-4/+21
2010-07-01[SGSN] SNDCP: use llist_for_each_entry_safe() when cleaning frag queueHarald Welte1-2/+2
2010-07-01[SGSN] Fix TLLI (re)assignmentsHarald Welte2-16/+21
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-07-01[SGSN] Fix segfault when doing PS PAGINGHarald Welte1-1/+1
The 'bssgp_paging_info' contains a pointer to the P-TMSI, and not the P-TMSI itself. The reason is that it is an optional BSSGP IE.
2010-07-01[SGSN] Add VTY interface for SNDCPHarald Welte5-68/+159
2010-06-30[SGSN] BSSGP: Print TLLI as hex value like everwhere elseHarald Welte1-1/+1
2010-06-28[SGSN] Deactivate SNDCP entity on PDP CTX DEACT CONFIRMHarald Welte1-0/+3
Otherwise we will end up leaking memory in the SNDCP layer...
2010-06-28[SGSN] MM: Properly communicate TLLI changes / unassignment to LLCHarald Welte1-3/+9
2010-06-28[SGSN] LLC: properly free LLC entities at TLLI unassignmentHarald Welte1-0/+7
2010-06-28[SGSN] Deactivate all PDP contexts on GPRS DETACHHarald Welte1-0/+10
2010-06-28[SGSN] Fix segfault ar PDP CTX DEACT timeHarald Welte1-0/+1
We need to call rate_ctr_group_free() on the per-PDPctx-counters
2010-06-23gprs: Fix LOGP misuse and specify LOGL_NOTICE as region.Holger Hans Peter Freyther1-1/+2
2010-06-14[GPRS] Add comment on GTP being defined in 29.060 / 09.060Harald Welte1-0/+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] sndcp: Fix call to msgb_alloc_headroom to have both head&tail roomSylvain Munaut1-2/+2
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-06-10[grps] Fix GTP data_ind call back message creationSylvain Munaut1-1/+1
We'll need to push data both before and after, so make sure there is both headroom & tailroom Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-06-10[GPSR] SGSN: Keep traffic counters for each PDP contextHarald Welte4-3/+31
2010-06-10[GPRS] BSSGP/SGSN: Implement Gb-Interface PagingHarald Welte2-6/+97
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-10[GPRS] SGSN: fix typoHarald Welte1-1/+1
2010-06-09[GPRS] SGSN: Pass BSSGP SUSPEND/RESUME up to GMM and alter MMCTX stateHarald Welte2-4/+64
2010-06-09[GPRS] GMM/SM: Improve error handling by sending STATUS messagesHarald Welte1-9/+60
2010-06-09[GPRS] Drop all PDP contexts not present in PDP CTX STATUS IE at RA UPDHarald Welte1-0/+66