aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/gprs/sgsn_libgtp.c
AgeCommit message (Collapse)AuthorFilesLines
2011-07-16sgsn_libgtp: remove bogus unreached second return statementHarald Welte1-2/+0
found by Smatch
2011-05-06src: use namespace prefix osmo_fd* and osmo_select*Pablo Neira Ayuso1-4/+4
Summary of changes: s/struct bsc_fd/struct osmo_fd/g s/bsc_register_fd/osmo_fd_register/g s/bsc_unregister_fd/osmo_fd_unregister/g s/bsc_select_main/osmo_select_main/g
2011-05-06src: use namespace prefix osmo_timer* for timer functionsPablo Neira Ayuso1-1/+1
Summary of changes: s/struct timer_list/struct osmo_timer_list/g s/bsc_add_timer/osmo_timer_add/g s/bsc_schedule_timer/osmo_timer_schedule/g s/bsc_del_timer/osmo_timer_del/g s/bsc_timer_pending/osmo_timer_pending/g s/bsc_nearest_timer/osmo_timers_nearest/g s/bsc_prepare_timers/osmo_timers_prepare/g s/bsc_update_timers/osmo_timers_update/g s/bsc_timer_check/osmo_timers_check/g
2011-04-18misc: Remove sys/types.h includes from the filesHolger Hans Peter Freyther1-1/+0
These are not needed any more. We used them for u_int types but we now use uint which comes from stdint.h
2011-03-23src: use new library libosmogsm and new path to headers in libosmocorePablo Neira Ayuso1-3/+3
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-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-26SGSN: Implement network-initiated PDP CTX DEACT when GGSN restartsHarald Welte1-4/+28
If the GGSN restarts, its restart counter will increase. We can detect that and accordingly release/delete all PDP contexts for that GGSN.
2010-12-26SGSN: some more commentsHarald Welte1-0/+4
2010-10-06misc: Once again go from "On Waves" to "On-Waves"..Holger Hans Peter Freyther1-1/+1
Try to get the company name of our sponsor right...
2010-07-02[SGSN] remove bogus debug statementHarald Welte1-1/+0
2010-07-02[SGSN] Correctly pass IMSI of MM ctx to GTP/GGSNHarald Welte1-1/+27
2010-07-01[SGSN] Fix segfault when passing re-assembled SN-PDU to GMMHarald Welte1-5/+3
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] 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-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-14[GPRS] Add comment on GTP being defined in 29.060 / 09.060Harald Welte1-0/+1
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 Welte1-0/+14
2010-06-10[GPRS] BSSGP/SGSN: Implement Gb-Interface PagingHarald Welte1-6/+34
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-03[GPRS] implement GTP->SNDCP->LLC downlink user-data pathHarald Welte1-2/+20
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-02[GPRS] SGSN: use correct length+data for GSN_ADDRESSHarald Welte1-6/+6
We have to copy the sin_addr.s_addr, rather than the entire sin_addr. The latter results in the destination interpreting it as an IPv6 address, as the only differentiator between IPv4 and IPv6 is the size of the payload of this IE.
2010-06-02[GPRS] SGSN: fix another segfault (and use-after-free) when GGSN is deadHarald Welte1-2/+3
2010-06-01[GPRS] hand SNDCP N-PDUs to the GTP to the GGSNHarald Welte1-0/+35
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] SGSN GTP: Fix segfault in case GGSN is downHarald Welte1-2/+3
2010-05-18[GPRS] SGSN: Make sure libgtp timer doesn't segfaultHarald Welte1-0/+1
2010-05-18[GPRS] SGSN: No need to calculate difference for libgtp timerHarald Welte1-39/+2
The libgtp return value is already a timespan value, not a wallclock time.
2010-05-18[GPRS] fix numerous compiler warningsHarald Welte1-3/+6
2010-05-18[GPRS] SGSN: properly delete a PDP context after receiving PDP CTX DEACT REQHarald Welte1-12/+21
2010-05-18[GPRS] SGSN: ensure we mark libgtp filedescriptors as READHarald Welte1-0/+3
2010-05-18[GPRS] Properly connect GPRS SM with LIBGTP for PDP context activationHarald Welte1-10/+63
* store LLC SAPI as part of PDP ctx * store NSEI + BVCI as part of MM ctx * export gsm48_tx_gsm_act_pdp_acc() and call it from sgsn_libgtp.c * create and use gsm48_tx_gsm_act_pdp_rej for error cases * print SAPI as part of VTY show pdp
2010-05-17[GPRS] More work on a real SGSNHarald Welte1-14/+21
2010-05-17[SGSN] remove the mmctx->sgsn pointerHarald Welte1-2/+1
We never want to support multiple sgsn's within one process, so there is no point in passing them around all the time.
2010-05-17[GPRS] Initial untested support for libgtpHarald Welte1-0/+421
libgtp of the OpenGGSN project will allow us to speak the GTPv0/v1 protocol of the interface between SGSN and GGSN. This commit includes code for the main libgtp integration (file descriptor, select loop, timer) as well as code to encode/send a CREATE PDP CONTEXT request.