aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/gprs
AgeCommit message (Collapse)AuthorFilesLines
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
2010-06-09[GPRS] SM: Acknowledge PDP CTX DEACT for non-existing PDP CTXHarald Welte1-5/+9
Some phones (notably a Ericsson Mobile Platform based E-TEN M800) insist on sending PDP CTX DEACT messages for contexts that have already been deactivated. The spec doesn't really say what we should do in this case. But since there is no "reject", we simply acknowledge it.
2010-06-09GPRS: Copy the content of the msgb instead of creating one that points to ↵Holger Hans Peter Freyther1-4/+26
the other Right now the memcpy with the data will copy data to itself as the new_msg->data and msg->data are the same due the previous copying of the header which included copying the list entry.. We allocate a message as big as the current one, then we have to set all pointers by looking of how far they are away from the msg->_data and add that to the new pointers. Also copy the OpenBSC/GPRS specific CB data, also do the same for calculating the offset to the data... At the end we should end up with a copy...
2010-06-09GPRS: Fix crash when the peer can not be found...Holger Hans Peter Freyther1-2/+2
Use UINT_MAX (or -1) if the peer can not be found.
2010-06-09misc: Fix the return type of the go back vty function...Holger Hans Peter Freyther2-2/+2
Without this we will get warnings about incompatible assignments
2010-06-09GPRS: Fix compiler warning that will also lead to a crash at runtime.Holger Hans Peter Freyther1-1/+1
2010-06-03[GPRS] BSSGP: Fix formatting of BSSGP TX STATUSHarald Welte1-1/+2
2010-06-03[GPRS] SNDCP: Implement fragmentation of N-PDUs to SN-PDUs in downlinkHarald Welte1-28/+346
Using the code of this commit, it was possible to provision GPRS services and access a website from a G1 phone (Qualcomm MSM7k baseband chipset) using a nanoBTS, Osmo-SGSN and OpenGGSN. There is still no fragment re-assembly in the uplink path yet, despite the (untested) code present in the gprs_sndcp.c file
2010-06-03[GPRS] SNDCP: Check if SN-PDU is too large and reject itHarald Welte1-0/+8
... since we don't do fragmentation yet
2010-06-03[GPRS] LLC: Implement per-SAPI default values for LLC parametersHarald Welte2-10/+99
2010-06-03[GPRS] implement GTP->SNDCP->LLC downlink user-data pathHarald Welte2-2/+56
This only works for packets that are small enough to not need fragmentation at the SNDCP layer (dns queries, ntp and the like). It requires libgtp built from OpenGGSN dc3744fda045f9fca83de6881176987335a309a8 or later. Plain 0.90 will NOT work. Using this version, I could see bi-directional traffic from various phones going all the way through BTS, OsmoSGSN, OpenGGSN and being routed to and from the real internet. Time to celebrate...
2010-06-03[GPRS] add comments to SGSN header fileHarald Welte1-1/+2