summaryrefslogtreecommitdiffstats
path: root/openbsc/src/libabis
AgeCommit message (Collapse)AuthorFilesLines
2011-08-19src: port openBSC over libosmo-abis0.9.15Pablo Neira Ayuso9-4123/+0
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.
2011-08-19src: use new msg->dst pointer instead of deprecated msg->trxPablo Neira Ayuso3-37/+44
This patch modifies openBSC code to use msg->dst which stores the pointer to the signalling link structure instead of the pointer to the transceiver structure. This patch prepares the introduction of libosmo-abis.
2011-08-11DAHDI: Actually increment e1_input related rate countersHarald Welte1-0/+16
2011-08-11E1 Input: better names for rate countersHarald Welte1-4/+4
2011-08-11E1 Input: Add rate counters for events related to E1 linesHarald Welte2-12/+56
2011-08-11E1 Input: Move 'show e1_*' command to e1_input_vty.cHarald Welte1-0/+118
2011-08-11E1 Input: Add VTY command to specify the name of a LineHarald Welte1-1/+28
So far, there was no way to set the line->name field at all.
2011-08-10LAPD: Propagate lapd_receive() errors to the E1 driverPablo Neira Ayuso4-8/+43
Scenario: BTS are configured and working, then the BSC stops working for some reason (crash or administrative stop). If the BSC comes back to life, LAPD among other things does not know about the previous existing TEIs. Instead of ignoring these frames, we notify the driver that we are seeing frames with unknown TEIs, so it can try to recover, e.g. by resending the SABM message.
2011-08-09LAPD: Use proper log levels and prefix all messages with LAPDHarald Welte1-24/+27
2011-08-09LAPD: Remove all calls to 'assert' from the codeHarald Welte1-4/+11
For a system-level daemon, no protocol parser error should ever call assert, which would take down the entire process.
2011-08-09DAHDI: Fix case where we have multiple E1 ports/cards (spans)Harald Welte1-1/+7
DAHDI creates one device node for every E1 timeslot, starting from '1', and keeps incrementing that number even for additional ports/cards. Thus, we have to use the e1inp_line number multiplied by 31 as a base.
2011-05-24libabis: fix segfault on malformed ipaccess RSL linkAlexander Huemer1-1/+4
This patch fixes a segfault that occured when a ipaccess RSL link gets closed unexpectedly. The segfault can be provoked by connecting to the RSL port with ncat and hitting ^C.
2011-05-22abis: add init function for emulated ipaccess/HSL emulated E1 inputPablo Neira Ayuso3-12/+14
This patch is a cleanup. It adds an init function for the ipaccess and HSL emulated E1 input drivers.
2011-05-22abis: skip e1_input nesting if emptyPablo Neira Ayuso1-0/+3
With this patch, we don't include e1_input if it's empty [...] timeslot 7 phys_chan_config TCH/F hopping enabled 0 e1_input <----------------- empty, it should not show up. msc [...]
2011-05-07src: use namespace prefix osmo_* for misc utilsPablo Neira Ayuso5-19/+19
Summary of changes: s/bcd2char/osmo_bcd2char/g s/char2bcd/osmo_char2bcd/g s/hexparse/osmo_hexparse/g s/hexdump/osmo_hexdump/g s/hexdump_nospc/osmo_hexdump_nospc/g s/ubit_dump/osmo_ubit_dump/g s/static_assert/osmo_static_assert/g
2011-05-06src: use namespace prefix osmo_signal*Pablo Neira Ayuso2-5/+5
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
2011-05-06src: use namespace prefix osmo_fd* and osmo_select*Pablo Neira Ayuso4-55/+55
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 Ayuso6-11/+11
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 Freyther6-6/+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-04-18misc: Move from u_int to uint types of stdint.hHolger Hans Peter Freyther5-54/+54
This was done with sed on the files.
2011-04-12libabis: ipaccess: use log instead of debug under errors in ipaccess_send()Pablo Neira Ayuso1-1/+1
This patch was suggested by Zecke.
2011-04-12src: more robust ipaccess_idtag_parse()Pablo Neira Ayuso1-5/+9
Now ipaccess_idtag_parse() returns -EINVAL instead of -1. We also check for the return value of this function in every invocation to skip further processing in case of messages with malformed TLVs. This idea was suggested by Zecke.
2011-04-12libabis: ipaccess: more robust ipaccess_idtag_name()Pablo Neira Ayuso1-1/+1
ipaccess_idtag_name() now takes a uint8_t as parameter which is the length of the type tag. This patch was suggested by Zecke.
2011-04-07ipaccess: Add a function to prepend the osmocom ext headerHolger Hans Peter Freyther1-0/+9
* include/openbsc/ipaccess.h: Reserve a protocol number for control commands * input/ipaccess.c: New function ipaccess_prepend_header_ext prepends the extension header
2011-04-07libabis: ipaccess: export ipaccess_parse_unitidPablo Neira Ayuso1-3/+3
Now this is used by ipaccess-proxy, remove redundant implementation in it.
2011-04-07libabis: ipaccess: export ipaccess_idtag_name()Pablo Neira Ayuso1-2/+2
Now this is used by ipaccess-proxy, remove redundant implemention in it.
2011-04-07libabis: ipaccess: conclude new ipaccess_send_*() functions and use themPablo Neira Ayuso1-17/+48
This patch finishes the new ipaccess_send_*() functions and use them in the ipaccess-proxy code. I have also cleanup the definition of the PONG, ID_ACK and ID_REQ messages (including some minor documentation about them). I had to rename ipaccess_recvmsg() in ipaccess-proxy to avoid clashing with the one defined in libabis.
2011-04-05libcommon: socket: extend make_sock() prototypePablo Neira Ayuso2-6/+6
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.
2011-04-04lapd: NULL pointer derefence possible hereHolger Hans Peter Freyther1-1/+1
The idiom seems to be to allocate the lapd_tei if it does not exist and use it then. This was found by clang --analyze.
2011-03-23src: use new library libosmogsm and new path to headers in libosmocorePablo Neira Ayuso9-29/+29
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-03-04fix path of bscconfig.h include fileHarald Welte3-3/+3
2011-03-04Make sure not to feed BSSGP messages into RSLHarald Welte1-1/+2
2011-03-04Implement the HSL SR1.0.1 protocolHarald Welte1-3/+5
It seems HSL has fixed most of their obvious issues in the SR1.0.1 release. However, this creates quite an incompatibility of the protocol, and we have to adapt accordingly
2011-03-04[HSL] initial support for the HSL 2.75G FemtocellHarald Welte2-0/+458
The HSL Femtocell seems to be a poor man implementation of the ip.access Abis/IP protocol, but cutting corners wherever possible. We try to workaround those corners wherever possible...
2011-03-04prefix sub-directories containing libraries with 'lib'Harald Welte8-0/+3353
... and make sure tests work again after restructuring