summaryrefslogtreecommitdiffstats
path: root/openbsc/src
Commit message (Collapse)AuthorAgeFilesLines
* libgb: prefix all NS related functions with gprs_Harald Welte2012-06-176-24/+82
|
* libgb: don't call directly into GMM / LLC layerHarald Welte2012-06-171-7/+71
| | | | | | Instead of direct function calls to individual functions, we now generate primitives (osmo_prim) and send them to one application-provided function "bssgp_prim_cb()"
* libgb: remove dependency of BSSGP to include sgsn/gmm internal structsHarald Welte2012-06-171-23/+18
|
* libgb: Remove dependency to openbsc/debug.hHarald Welte2012-06-1610-26/+93
|
* libgb: remove dependencies to openbsc/vty.h and openbsc/gsm_data.hHarald Welte2012-06-165-29/+96
| | | | | Rather than using openbsc internal data/functions, we now use only internal and libosmocore-provided ones.
* libgb: Use library SS_L_NS instead lf local SS_NSHarald Welte2012-06-163-6/+4
| | | | | which removes some further dependencies of libgb to openbsc internal code and data.
* libgb: move GPRS specific msgb CB definitions to separate headerHarald Welte2012-06-164-7/+4
|
* split libgb into a separate library for outside useHarald Welte2012-06-167-32/+45
| | | | | This also removes the dependency to osmo_sock() inside libcommon and replaces it with osmo_sock_* from libosmocore
* misc: Use msgb_free for freeing the messagesHolger Hans Peter Freyther2012-03-012-2/+2
|
* abis: gsm_data_shared.h includes libosmo-abis header, add abis to cflagsHolger Hans Peter Freyther2012-01-151-2/+2
| | | | | | gsm_data_shared.h includes e1_input.h of libosmo-abis, add the LIBOSMOABIS_CFLAGS to Makefile.am, remove AM_LDFLAGS at the same time as we only build .a archives.
* fix two mistakes in AM_LDFLAGSAlexander Huemer2011-11-251-1/+1
|
* BSSGP: Add functions required for true BSS-side BSSGP implementationHarald Welte2011-11-253-12/+427
| | | | | | | | | The BSS-side of BSSGP requires quite a number of additional functions for sending unidirectional messages that a SGSN never sends. This is a first step into completing the BSSGP implementation and making it ready to be used from osmo-bts and other BTS-side GPRS implementations.
* GPRS: add new bssgp_create_cell_id(), opposite of bssgp_parse_cell_id()Harald Welte2011-11-241-0/+12
|
* GPRS NS: Add some doxygen API documentationHarald Welte2011-11-241-9/+110
|
* gb_proxy: Make sure each parameter has some sort of documentationHolger Hans Peter Freyther2011-11-061-1/+2
|
* bssgp: make comments more explicit, include 'Rx' in received messagesHarald Welte2011-08-191-6/+6
|
* gprs_bssgp_util.c: orig_msg == NULL is not supportedHarald Welte2011-07-161-3/+2
| | | | | | we need it for deriving the NSEI anyway. Detected by Smatch
* src: use namespace prefix osmo_signal*Pablo Neira Ayuso2011-05-061-8/+8
| | | | | | | | | Summary of changes: s/signal_cbfn/osmo_signal_cbfn/g s/register_signal_handler/osmo_signal_register_handler/g s/unregister_signal_handler/osmo_signal_unregister_handler/g s/dispatch_signal/osmo_signal_dispatch/g
* src: use namespace prefix osmo_fd* and osmo_select*Pablo Neira Ayuso2011-05-062-9/+9
| | | | | | | | | 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
* src: use namespace prefix osmo_timer* for timer functionsPablo Neira Ayuso2011-05-061-6/+6
| | | | | | | | | | | | | | 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
* libcommon: socket: extend make_sock() prototypePablo Neira Ayuso2011-04-052-2/+2
| | | | | | | | | | | | This patch extends the make_sock() prototype so you can fully set the fields priv_nr and data of the bsc_fd structure. This is the first step to get rid of the internal make_sock() implementation that ipaccess-proxy uses. This patch includes a minor cleanup to pass INADDR_ANY instead of zero, if you do not want to bind the socket to one specific address.
* src: include new file osmocom/vty/misc.h for vty_out_rate_ctr_group()Pablo Neira Ayuso2011-03-282-0/+2
| | | | | This uses the new include file for vty_out_rate_ctr_group() which available in libosmocore.
* src: use new library libosmogsm and new path to headers in libosmocorePablo Neira Ayuso2011-03-237-26/+26
| | | | | | | | | | | 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>
* prefix sub-directories containing libraries with 'lib'Harald Welte2011-03-047-0/+0
| | | | ... and make sure tests work again after restructuring
* Move 'Gb' protocol stack into its own src/gb subdirectoryHarald Welte2011-03-037-0/+9
|
* LOGGING: make sure to make the 'logging filter' compatible with vty log cfgHarald Welte2011-02-182-12/+10
| | | | | | | Recent libosmocore introdues a way how log targets can be configured from the VTY. This commit makes the 'log filter (imsi|nsvc|bvc)' compatible with it.
* License change: We are now AGPLv3+ instead of GPLv2+Harald Welte2011-01-016-36/+30
| | | | | | 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.
* Add mandatory routeing area IE to SUSPEND-NACKDieter Spaar2010-12-121-1/+5
|
* [GPRS NS] Fix memory leak in gprs_ns_sendmsg() error pathHarald Welte2010-08-091-0/+4
| | | | | | | | | When gprs_ns_sendmsg() succeeds in sending the message, we free()d the msgb after transmitting it on the socket. However, if the NS-VC is blocked or some other error condition exists, we returned an error code but didn't free the msgb. This resulted in an error leak which is now being addressed.
* [gprs] BSSGP: Fix null pointer dereferenceHarald Welte2010-07-231-2/+3
| | | | Zecke has found this using "make CC="clang --analyze"
* [SGSN] BSSGP: Print TLLI as hex value like everwhere elseHarald Welte2010-06-301-1/+1
|
* [gprs] bssgp: Fix LLC PDU length encoding in BSSGP.Sylvain Munaut2010-06-101-1/+1
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* [GPSR] SGSN: Keep traffic counters for each PDP contextHarald Welte2010-06-101-1/+1
|
* [GPRS] BSSGP/SGSN: Implement Gb-Interface PagingHarald Welte2010-06-101-0/+63
| | | | | | | | | | | | | | | | 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.
* [GPRS] SGSN: Pass BSSGP SUSPEND/RESUME up to GMM and alter MMCTX stateHarald Welte2010-06-091-4/+16
|
* GPRS: Fix compiler warning that will also lead to a crash at runtime.Holger Hans Peter Freyther2010-06-091-1/+1
|
* [GPRS] BSSGP: Fix formatting of BSSGP TX STATUSHarald Welte2010-06-031-1/+2
|
* [GPRS] Major LLC / TLLI handling fixesHarald Welte2010-06-011-1/+1
| | | | | | | | | | | | | * 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.
* [GPRS] Include IMSI and DRX params in BSSGP DL-UDHarald Welte2010-05-311-2/+34
| | | | | | | | | 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 :(
* [GPRS] BSSGP: Fix way too long TLLI debug lineHarald Welte2010-05-311-1/+1
|
* [GPRS] BSSGP: More verbose debug log / error reportingHarald Welte2010-05-311-34/+86
|
* [GPRS] BSSGP: When we receive a BLOCK, we should not respond with UNBLOCK-ACKHarald Welte2010-05-311-2/+1
|
* [GPRS] NS: Fix GRE keepalive response in FR-GRE encapsulationHarald Welte2010-05-311-2/+2
|
* [GPRS] BSSGP: Acknowledge all SUSPEND and RESUME requestsHarald Welte2010-05-301-0/+103
| | | | | | This is of course not the correct way of dealing with it, but for now it should make the Ericsson Mobile Plafrom based phones happy (they insist to do a suspend/resume cycle before pdp ctx act)
* [GPRS] NS: correctly pass the NS payload length to the TLV parserHarald Welte2010-05-301-7/+9
|
* [GPRS] NS: Don't hand Frame Relay LMI packets into the NS codeHarald Welte2010-05-281-5/+15
|
* [GPRS] NS: Respond to GRE keepalive messagesHarald Welte2010-05-281-1/+67
| | | | | | | GRE has the strange notion of keepalive messages being encapsulated IPv4 packets adressed back to the sender. Since we actually really only care about frame relay, this is a bit strange. However, we'll do some sanity checks and send it back through our GRE socket...
* [GPRS] NS: Frame Relay DLCI for PVC from 16-1007Harald Welte2010-05-281-1/+1
| | | | | | | | | 0 Reserved for ANSI Annex D and CCITT Annex A link management 1 - 15 Reserved 16 - 1007 Any PVC 1008 - 1018 Reserved 1019 - 1022 Reserved for LMI multicast 1023 Reserved for LMI link management
* [GPRS] NS: Print error message if TLV parser fails for some reasonHarald Welte2010-05-281-0/+22
|
* [GPRS] NS: Start TEST procedure, not ALIVE procedure, on RESET/RESET_ACKHarald Welte2010-05-281-2/+3
| | | | | | | | | | | | According to the spec, after an incoming RESET or RESET_ACK, we shall start the TEST procedure, not the ALIVE procedure. Also, when we start the TEST procedure, we have to always send a NS_ALIVE packet at the same time (we didn't in the case of incoming RESET). Furthermore, we now only start TIMER_TNS_ALIVE from within the TIMER_TNS_RESET callback code, where we also make sure that the alive_retries counter is reset to zero.