tree c9d4ccc2952aacd64c1a5817bb53646d50704ed4
parent c9295ea2dd1f52931f8670e706a7b0d4b3ac536b
author Andreas Eversberg <jolly@eversberg.eu> 1390312481 +0100
committer Harald Welte <laforge@gnumonks.org> 1409223029 +0200

Support for multiple RSL connections with ABIS/ipaccess (BTS side)

In order to support multiple TRX, multiple RSL connections can be
establised. e1inp_ipa_bts_rsl_connect() requires an additional parameter
to set the TRX number.

The ts[] array (member of struct e1inp_line) refers to OML and RSL.
ts[0] refers to OML link, ts[1] to RSL link of first TRX, ts[2] to
RSL link of second TRX (if exists) and so on.

The code was successfully tested with osmobts-trx and UmTRX with two
transceivers.

The user of e1inp_ipa_bts_rsl_connect() (which is osmo-bts) can use
the new function like this (backwards compatibility function provided):

src/common/oml.c
-	rc = e1inp_ipa_bts_rsl_connect(oml_link->ts->line, inet_ntoa(in), port);
+	rc = e1inp_ipa_bts_rsl_connect_n(oml_link->ts->line, inet_ntoa(in), port,
+		trx->nr);
