Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2010-07-02 | [SGSN] Print AP name and PDP address of each PDP context | Harald Welte | 1 | -1/+70 | |
2010-07-02 | [SGSN] Correctly pass IMSI of MM ctx to GTP/GGSN | Harald Welte | 1 | -1/+27 | |
2010-07-02 | [SGSN] SNDCP: Subtract SNDCP header from fragment length | Harald Welte | 1 | -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 field | Harald Welte | 1 | -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 length | Harald Welte | 1 | -1/+7 | |
2010-07-02 | [SGSN] Send poper SM and GMM STATUS in case we have no MM CTX | Harald Welte | 1 | -1/+2 | |
2010-07-02 | [SNDCP] some more defragmentation debug statements | Harald Welte | 1 | -11/+9 | |
2010-07-02 | [SGSN] SNDCP defrag: use correct length, don't include LLC FCS | Harald Welte | 1 | -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 entry | Harald Welte | 1 | -0/+2 | |
Prior to this patch our defragmented messages always consisted of 00-bytes | |||||
2010-07-02 | [SGSN] Remove old dead code | Harald Welte | 1 | -17/+14 | |
2010-07-02 | [SGSN] Only increment PDP CTX ACT count after check for retransmission | Harald Welte | 1 | -2/+4 | |
2010-07-02 | [SGSN] Account for re-transmitted PDP CTX ACT REQ | Harald Welte | 1 | -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 defrag | Harald Welte | 1 | -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 debugging | Harald Welte | 1 | -2/+8 | |
2010-07-01 | [SGSN] Fix segfault when passing re-assembled SN-PDU to GMM | Harald Welte | 3 | -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 defragmentation | Harald Welte | 1 | -1/+1 | |
2010-07-01 | [SGSN] SNDCP: Initialize defrag list header | Harald Welte | 1 | -0/+1 | |
2010-07-01 | [SGSN] GMM: Complete value_string for GMM cause values | Harald Welte | 1 | -4/+21 | |
2010-07-01 | [SGSN] SNDCP: use llist_for_each_entry_safe() when cleaning frag queue | Harald Welte | 1 | -2/+2 | |
2010-07-01 | [SGSN] Fix TLLI (re)assignments | Harald Welte | 2 | -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 PAGING | Harald Welte | 1 | -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 SNDCP | Harald Welte | 5 | -68/+159 | |
2010-06-30 | [SGSN] BSSGP: Print TLLI as hex value like everwhere else | Harald Welte | 1 | -1/+1 | |
2010-06-28 | [SGSN] Deactivate SNDCP entity on PDP CTX DEACT CONFIRM | Harald Welte | 1 | -0/+3 | |
Otherwise we will end up leaking memory in the SNDCP layer... | |||||
2010-06-28 | [SGSN] MM: Properly communicate TLLI changes / unassignment to LLC | Harald Welte | 1 | -3/+9 | |
2010-06-28 | [SGSN] LLC: properly free LLC entities at TLLI unassignment | Harald Welte | 1 | -0/+7 | |
2010-06-28 | [SGSN] Deactivate all PDP contexts on GPRS DETACH | Harald Welte | 1 | -0/+10 | |
2010-06-28 | [SGSN] Fix segfault ar PDP CTX DEACT time | Harald Welte | 1 | -0/+1 | |
We need to call rate_ctr_group_free() on the per-PDPctx-counters | |||||
2010-06-23 | gprs: Fix LOGP misuse and specify LOGL_NOTICE as region. | Holger Hans Peter Freyther | 1 | -1/+2 | |
2010-06-14 | [GPRS] Add comment on GTP being defined in 29.060 / 09.060 | Harald Welte | 1 | -0/+1 | |
2010-06-10 | [gprs] bssgp: Fix LLC PDU length encoding in BSSGP. | Sylvain Munaut | 1 | -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 room | Sylvain Munaut | 1 | -2/+2 | |
Signed-off-by: Sylvain Munaut <tnt@246tNt.com> | |||||
2010-06-10 | [grps] Fix GTP data_ind call back message creation | Sylvain Munaut | 1 | -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 context | Harald Welte | 4 | -3/+31 | |
2010-06-10 | [GPRS] BSSGP/SGSN: Implement Gb-Interface Paging | Harald Welte | 2 | -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 typo | Harald Welte | 1 | -1/+1 | |
2010-06-09 | [GPRS] SGSN: Pass BSSGP SUSPEND/RESUME up to GMM and alter MMCTX state | Harald Welte | 2 | -4/+64 | |
2010-06-09 | [GPRS] GMM/SM: Improve error handling by sending STATUS messages | Harald Welte | 1 | -9/+60 | |
2010-06-09 | [GPRS] Drop all PDP contexts not present in PDP CTX STATUS IE at RA UPD | Harald Welte | 1 | -0/+66 | |
2010-06-09 | [GPRS] SM: Acknowledge PDP CTX DEACT for non-existing PDP CTX | Harald Welte | 1 | -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-09 | GPRS: Copy the content of the msgb instead of creating one that points to ↵ | Holger Hans Peter Freyther | 1 | -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-09 | GPRS: Fix crash when the peer can not be found... | Holger Hans Peter Freyther | 1 | -2/+2 | |
Use UINT_MAX (or -1) if the peer can not be found. | |||||
2010-06-09 | misc: Fix the return type of the go back vty function... | Holger Hans Peter Freyther | 2 | -2/+2 | |
Without this we will get warnings about incompatible assignments | |||||
2010-06-09 | GPRS: Fix compiler warning that will also lead to a crash at runtime. | Holger Hans Peter Freyther | 1 | -1/+1 | |
2010-06-03 | [GPRS] BSSGP: Fix formatting of BSSGP TX STATUS | Harald Welte | 1 | -1/+2 | |
2010-06-03 | [GPRS] SNDCP: Implement fragmentation of N-PDUs to SN-PDUs in downlink | Harald Welte | 1 | -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 it | Harald Welte | 1 | -0/+8 | |
... since we don't do fragmentation yet | |||||
2010-06-03 | [GPRS] LLC: Implement per-SAPI default values for LLC parameters | Harald Welte | 2 | -10/+99 | |
2010-06-03 | [GPRS] implement GTP->SNDCP->LLC downlink user-data path | Harald Welte | 2 | -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 file | Harald Welte | 1 | -1/+2 | |