Commit
2d2fb09b75e55de46b129e9ff200eef345497989
by Pau Espin Pedrolipaccess-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