summaryrefslogtreecommitdiffstats
path: root/openbsc/src
Commit message (Collapse)AuthorAgeFilesLines
* libctrl: Mark the cmd set/get/verify functions staticDaniel Willmann2014-08-211-6/+6
|
* libctrl: Bind control interface to localhostDaniel Willmann2014-08-211-1/+1
|
* libctrl: Use DCTRL as logging destination in libctrlHolger Hans Peter Freyther2014-08-212-28/+28
|
* src: port openBSC over libosmo-abisPablo Neira Ayuso2014-08-213-37/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a big patch that ports openBSC over libosmo-abis. Sorry, the changes that are included here are all dependent of libosmo-abis, splitting them into smaller pieces would leave the repository in some intermediate state, which is not desired. The main changes are: - The directory libabis/ has been removed as it now lives in libosmo-abis. - new configuration file format for nanoBTS and HSL femto, we need to define the virtual e1_line and attach it to the OML link. - all the existing BTS drivers (nanoBTS, hsl femto, Nokia site, BS11 and rbs2000) now use the new libosmo-abis framework. - use r232 input driver available in libosmo-abis for bs11_config. - use ipa_msg_recv instead of old ipaccess_read_msg function. - delete definition of gsm_e1_subslot and input_signal_data. These structures now lives in libosmo-abis. Most of this patch are deletions of libabis/ which has been moved to libosmo-abis. This patch also modifies openBSC to use all the new definitions available in libosmocore and libosmo-abis. In order to do that, we have replaced the following: - DINP, DMI, DMIB and DMUX by their respective DL* correspondences. - SS_GLOBAL by SS_L_GLOBAL - SS_INPUT by SS_L_INPUT - S_GLOBAL_SHUTDOWN by S_L_GLOBAL_SHUTDOWN - SS_INPUT by SS_L_INPUT - S_INP_* by S_L_INP_* sub-signals - E1INP_NODE by L_E1INP_NODE vty node This patch has been tested with: - one nanoBTS - the HSL femto with the examples available under libosmo-abis - BS11 with both dahdi and misdn drivers.
* libctrl: Use inttypes.h macros to make uint64_t printfs portable.Daniel Willmann2014-08-211-1/+2
|
* libctrl: Add ctrl_cmd_cpy() to copy a commandDaniel Willmann2014-08-211-0/+36
|
* libctrl: Add commands to query counters and rate_cntrDaniel Willmann2014-08-211-0/+258
| | | | | | | | | | | | These commands are installed in controlif_setup. Query them like this: "rate_ctr.<interval>.<counter group>.<index>.<counter name>" for rate counters and "counter.<counter name>" for regular counters. <interval> may be either "abs" for absolute values or one or "per_{sec,min,hour,day}". It is possible to query all rate counters in a group (regardless of index) or all counters in a group and with a certain index if you omit <counter name> and <index> or just <counter name>.
* Add libctrl, an SNMP-like control interfaceDaniel Willmann2014-08-213-0/+819
| | | | | | In contrast to the VTY interface the control interface is meant to be used by programs. This patch adds basic support, no commands are defined.
* libosmogb: move files to proper location and fix buildHarald Welte2012-06-1711-3814/+0
|
* libgb: make sure all BSSGP functions have bssgp_ prefixHarald Welte2012-06-174-22/+21
| | | | | We change the minority of functions employing the gprs_bssgp_ prefix to match with the majority without gprs_ in front.
* libgb/gprs: don't use log_info from libcommon anymoreHarald Welte2012-06-171-1/+2
|
* 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 :(