Skip to content
Success

Changes

Summary

  1. ipaccess-config: Use own e1_input ipaccess driver (details)
Commit 4a0f1f4213671190d3163ba38fe9f58534dd6a6f by Oliver Smith
ipaccess-config: Use own e1_input ipaccess driver

Since osmo-bsc.git creation from openbsc.git around 10 years ago, a
reference was kept in osmo-bsc/ipaccess/ipaccess-config.c to ipa
specific code in the ipaccess e1_input stack of libosmo-abis.git
(ipaccess_fd_cb()).

Back at that time that was already considered to be an ugly hack, as
mentioned in include/osmocom/abis/ipaccess.h exporting that function.

This was done because ipaccess-config is quite different in several
aspects wrt to usual ipaccess based bts/osmo-bsc ipaccess lines:
* nanoBTS acts as TCP server and ipaccess-client as TCP client.
* TCP port 3006 is used instead of usual OML 3002.
* IPA handshake is actually also different, since despite nanoBTS being
  the server it doesn't really trigger an IPA ID GET which need to
  answer. Instead, upon ipaccess-config connecting, it will send an IPA
  ID ACK and wait to receive an IP ID ACK itself before start
  transmitting OML to ipaccess-config.

Due to all those differences, it really makes no sense to keep support
for this setup in the more usual bts<->bsc Abis e1line ipaccess driver
present in libosmo-abis.git.

Instead, this patch adds a new ipaccess-config-e1-driver.c which
implements a libosmo-abis e1_input line driver which works for this
specific service. libosmo-abis.git src/input/ipaccess.c from Change-Id
Idf241c8f2fdb86d090d4132a9b316b7236402232 is used as a base, further
simplifying it by removing stuff not really needed like BTS/BSC role,
tcp keepalive, tcp socket stats, etc.

Related: SYS#7063
Related: OS#5755
Related: OS#5756
Change-Id: I4d26876ce7d75a78f03c4fa66233550baf4fa7d5
(cherry picked from commit 76b863eb47ecaaf22fb4ca6ecd19f94a05b2ed5c)
The file was addedsrc/ipaccess/ipaccess-config-e1-driver.c
The file was modifiedsrc/ipaccess/ipaccess-config.c
The file was modifiedsrc/ipaccess/Makefile.am