aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmo-bts/abis.h
AgeCommit message (Collapse)AuthorFilesLines
2021-09-23Revert "abis: Fix line leaked & recreated upon every reconnect"Pau Espin Pedrol1-1/+1
This reverts commit bc6d35f52d4d3abd650afb05475ad5a818737fe2. Change-Id: I15063f0156ed8910795cd5ffe045e2d0cbca6276
2021-09-23abis: Fix line leaked & recreated upon every reconnectPau Espin Pedrol1-1/+1
Previous code creating a new line was really a workaroudn to have it working while previous lines were being stacked internally inside libosmo-abis. Let's handle reference counts for the line properly and erase + re-create it every time. Recent patches to libosmo-abis fixed a crash happening when refcount being 0 and destroying the object (object was not removed from a global llist). Depends: libosmo-abis Change-Id I1314d6b917ecb622994507475eb894e649a1a2ad Change-Id: Ic37ae5bf657247e8cce99182c40d9adf890a5e41
2021-09-20abis.c: Fix mess with priv->bsc_oml_hostPau Espin Pedrol1-1/+1
The pointer was used as "struct bsc_oml_host" sometimes, and other times as "struct llist_head". It just worked because bsc_oml_host->list is the first item in the script. The code was really confusing, also because the bts list of items has a name really similar to the one currently assigned. Let's rename the currently assigned address to "current_bsc", store it always as "struct bsc_oml_host*" and finally use llist_entry helpers when needed. The related code is also moved to a helper function to enclose there the logic to get next BSC in list. This change actually changes the logic where a remote address is removed from VTY, since now the next address in list is picked at the time, and later when reconnecting the list is forwarded another time, meaning one address will be skipped. This could be considered a bug, but this situation is really special and anyway the entire logic will be changed in new commits where we'll keep reconnecting in loop without exiting when reaching the end of the list, so we are fine with it. Think of this commit as a preparation commit for next ones. Change-Id: I3cc8a4148b3d63bc185b72dab8108105a6644910
2021-09-20abis.c: Transition to CONNECTED state only when OML link is upPau Espin Pedrol1-0/+1
This clarifies the different states and transitions between them: OML LINK UP: CONNECTING->CONNECTED ANY LINK DOWN: CONNECTING->CONNECTING, CONNECTED->FAILED In follow up commits, support to reconnect instead of exit after the BTS has already connected will be added, so only the last transition needs to be changed. Related: SYS#4971 Change-Id: I43e83b1b04fbaa1f87818c096e6ad3920801b1f6
2021-09-15abis.h: Drop unused statePau Espin Pedrol1-10/+0
Change-Id: I11173af3a543f6679ca9d43064bf071c214b1898
2021-07-19allow to configure multiple oml remote-ip addressesPhilipp Maier1-2/+7
At the moment we can only configure a single BSC in the BTS configuration. This also means that if this single BSC fails for some reason the BTS has no alternate BSC to connect to. Lets extend the remote-ip parameter so that it can be used multiple times so that an operater can configure any number of BSCs that are tried one after another during BTS startup. Change-Id: I205f68a3a7f35fee4c38a7cfba2b014237df2727 Related: SYS#4971
2014-11-10abis: Fix compiler warning and remove const from syntaxHolger Hans Peter Freyther1-2/+2
libosmo-abis doesn't make it easy to have these parameters as const.. just declare it non-const in the api. We pass a static string but we know it will not be modified.
2014-05-15abis: Separate initialization from connect for AbisHolger Hans Peter Freyther1-0/+1
Initialize the libosmo-abis VTY nodes more early so we can parse the config file that was created by "write". Introduce abis_init to initialize the libosmo-abis and modify abis_open to re-use an existing line. Update the comments. This has only been tried with the sysmobts-remote on x86. A TCP connection is opened toward the configured BSC. Fixes: SYS#285
2013-11-14rsl: Rename abis_rsl_sendmsg to avoid symbol clash with libosmo-abisHolger Hans Peter Freyther1-1/+1
Nicolas ended up with linker issues due abis_rsl_sendmsg being defined twice. Rename our version of the function and update the code. Patched with: @i@ expression E; @@ - abis_rsl_sendmsg(E) + abis_bts_rsl_sendmsg(E)
2013-10-06abis: Use OML remote (BSC) address if RSL CONNECT contains no IPHarald Welte1-0/+2
This introduces a new get_signlink_remote_ip() function whcih we also use in the RSL code to determine the RTP remote address if the CRCX/MDCX contains no remote IP address IE.
2013-10-06migrate away from our own abis.c code to libosmoabisHarald Welte1-18/+2
libosmoabis has a BTS-side implementation of the IPA protocol for years, and osmo-bts should have used that all the time. Unfortunately it had its own local hack, this patch is migrating to the libosmocore implementation.
2011-06-27re-work original osmo-bts with support for sysmocom femtobtsHarald Welte1-2/+8
This code re-works osmo-bts to add support for the upcoming sysmocom BTS. It also tries to add some level of abstraction between the generic part of a BTS (A-bis, RSL, OML, data structures, paging scheduling, BCCH/AGCH scheduling, etc.) and the actual hardware-specific bits. The hardware-specific bits are currently only implemented for the sysmocom femtobts, but should be (re-)added for osmocom-bb, as well as a virtual BTS for simulation purpose later. The sysmocom bts specific parts require hardware-specific header files which are (at least currently) not publicly distributed.
2011-05-22abis: use ipaccess protocol header from libosmogsmHarald Welte1-36/+1
2011-05-22[partial] port to new libosmocore-0.3 APIsHarald Welte1-4/+4
2011-03-04Fix include paths and start to make code compileHarald Welte1-0/+3
(still lots of missing references into osmocom-bb code)
2011-03-04Import all C and Header files from jolly/bts branch of osmocom-bb.gitHarald Welte1-0/+68
The BTS code shall reside in a separate git repository, thus I'm importing the C and H files here.