This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
pespin gerrit-no-reply at lists.osmocom.orgpespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24550 )
Change subject: WIP: Support OSMO IPA multiplex
......................................................................
WIP: Support OSMO IPA multiplex
Change-Id: I21beb4e5c101157cd0977fd9a607c2fe5350befe
---
M include/osmocom/bsc/Makefile.am
A include/osmocom/bsc/abis_osmo.h
M include/osmocom/bsc/bts.h
M include/osmocom/bsc/gsm_04_08_rr.h
M include/osmocom/bsc/gsm_data.h
M include/osmocom/bsc/pcuif_proto.h
M src/ipaccess/Makefile.am
M src/osmo-bsc/Makefile.am
A src/osmo-bsc/abis_osmo.c
M src/osmo-bsc/bsc_init.c
M src/osmo-bsc/bts.c
M src/osmo-bsc/bts_ipaccess_nanobts.c
M src/osmo-bsc/gsm_04_08_rr.c
M src/utils/Makefile.am
M tests/abis/Makefile.am
M tests/acc/Makefile.am
M tests/bsc/Makefile.am
M tests/gsm0408/Makefile.am
M tests/handover/Makefile.am
M tests/nanobts_omlattr/Makefile.am
20 files changed, 244 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/50/24550/1
diff --git a/include/osmocom/bsc/Makefile.am b/include/osmocom/bsc/Makefile.am
index be27dae..5e866cc 100644
--- a/include/osmocom/bsc/Makefile.am
+++ b/include/osmocom/bsc/Makefile.am
@@ -2,6 +2,7 @@
a_reset.h \
abis_nm.h \
abis_om2000.h \
+ abis_osmo.h \
abis_rsl.h \
acc.h \
assignment_fsm.h \
diff --git a/include/osmocom/bsc/abis_osmo.h b/include/osmocom/bsc/abis_osmo.h
new file mode 100644
index 0000000..6083e1e
--- /dev/null
+++ b/include/osmocom/bsc/abis_osmo.h
@@ -0,0 +1,35 @@
+/* GSM Network Management messages on the A-bis interface
+ * 3GPP TS 12.21 version 8.0.0 Release 1999 / ETSI TS 100 623 V8.0.0 */
+
+/* (C) 2008-2009 by Harald Welte <laforge at gnumonks.org>
+ * All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#pragma once
+
+#include <stdint.h>
+
+#include <osmocom/core/msgb.h>
+
+#include <osmocom/gsm/protocol/gsm_04_08.h>
+
+struct gsm_bts;
+
+int abis_osmo_rcvmsg(struct msgb *msg);
+int abis_osmo_sendmsg(struct gsm_bts *bts, struct msgb *msg);
+
+int abis_osmo_pcu_measure_neighbours_req(struct gsm_bts *bts, const struct gsm48_cell_desc *cell_desc_li, unsigned int num_cells);
diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h
index 7a491d9..545f92f 100644
--- a/include/osmocom/bsc/bts.h
+++ b/include/osmocom/bsc/bts.h
@@ -284,6 +284,8 @@
/* Connected PCU version (if any) */
char pcu_version[MAX_VERSION_LENGTH];
+ /* PCU sign_link, over OML line: */
+ struct e1inp_sign_link *osmo_link;
/* maximum Tx power that the MS is permitted to use in this cell */
int ms_max_power;
@@ -650,6 +652,9 @@
#define BTS_STORE_UPTIME_INTERVAL 10 /* in seconds */
void bts_store_uptime(struct gsm_bts *bts);
+#define ANR_REQUEST_INTERVAL 60 /* in seconds */
+int bts_anr_request(struct gsm_bts *bts, const struct gsm48_cell_desc *cell_desc_li, unsigned int num_cells);
+
unsigned long long bts_uptime(const struct gsm_bts *bts);
char *get_model_oml_status(const struct gsm_bts *bts);
diff --git a/include/osmocom/bsc/gsm_04_08_rr.h b/include/osmocom/bsc/gsm_04_08_rr.h
index 5ddee7f..ebba0f8 100644
--- a/include/osmocom/bsc/gsm_04_08_rr.h
+++ b/include/osmocom/bsc/gsm_04_08_rr.h
@@ -12,6 +12,7 @@
struct gsm_meas_rep;
struct gsm_network;
struct gsm_subscriber_connection;
+struct gsm_bts;
void gsm_net_update_ctype(struct gsm_network *network);
enum gsm_chan_t get_ctype_by_chreq(struct gsm_network *network, uint8_t ra);
@@ -43,6 +44,8 @@
struct msgb *gsm48_create_rr_status(uint8_t cause);
int gsm48_tx_rr_status(struct gsm_subscriber_connection *conn, uint8_t cause);
+void gsm48_cell_desc(struct gsm48_cell_desc *cd, const struct gsm_bts *bts);
+
#define GSM48_ALLOC_SIZE 2048
#define GSM48_ALLOC_HEADROOM 256
diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h
index 831463a..5ebcccb 100644
--- a/include/osmocom/bsc/gsm_data.h
+++ b/include/osmocom/bsc/gsm_data.h
@@ -1271,6 +1271,9 @@
/* Timer to write each BTS's uptime counter state to the stats system. */
struct osmo_timer_list bts_store_uptime_timer;
+ /* Timer to submit Measure Neighbours Request from time to time. */
+ struct osmo_timer_list anr_request_timer;
+
struct {
struct mgcp_client_conf *conf;
struct mgcp_client *client;
diff --git a/include/osmocom/bsc/pcuif_proto.h b/include/osmocom/bsc/pcuif_proto.h
index 8f72602..771eb9c 100644
--- a/include/osmocom/bsc/pcuif_proto.h
+++ b/include/osmocom/bsc/pcuif_proto.h
@@ -23,6 +23,8 @@
#define PCU_IF_MSG_TIME_IND 0x52 /* GSM time indication */
#define PCU_IF_MSG_PAG_REQ 0x60 /* paging request */
#define PCU_IF_MSG_TXT_IND 0x70 /* Text indication for BTS */
+/* msg_type coming from BSC */
+#define PCU_IF_MSG_ANR_REQ 0x80 /* Automatic Neighbor Registration Request */
/* sapi */
#define PCU_IF_SAPI_RACH 0x01 /* channel request on CCCH */
@@ -208,6 +210,12 @@
uint8_t cause;
} __attribute__ ((packed));
+/* BSC sends some message to PCU, potentially forwarded by BTS via IPA/PCU */
+struct gsm_pcu_if_anr_req {
+ uint8_t num_cells;
+ uint16_t cell_list[80]; /* struct gsm48_cell_desc */
+} __attribute__ ((packed));
+
struct gsm_pcu_if {
/* context based information */
uint8_t msg_type; /* message type */
@@ -228,6 +236,7 @@
struct gsm_pcu_if_time_ind time_ind;
struct gsm_pcu_if_pag_req pag_req;
struct gsm_pcu_if_app_info_req app_info_req;
+ struct gsm_pcu_if_anr_req anr_req;
} u;
} __attribute__ ((packed));
diff --git a/src/ipaccess/Makefile.am b/src/ipaccess/Makefile.am
index e282c6f..351f618 100644
--- a/src/ipaccess/Makefile.am
+++ b/src/ipaccess/Makefile.am
@@ -50,6 +50,7 @@
$(top_builddir)/src/osmo-bsc/bts_sm.o \
$(top_builddir)/src/osmo-bsc/bts_trx.o \
$(top_builddir)/src/osmo-bsc/abis_nm.o \
+ $(top_builddir)/src/osmo-bsc/abis_osmo.o \
$(top_builddir)/src/osmo-bsc/acc.o \
$(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts.o \
$(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \
@@ -74,6 +75,7 @@
ipaccess_proxy_LDADD = \
$(top_builddir)/src/osmo-bsc/abis_nm.o \
+ $(top_builddir)/src/osmo-bsc/abis_osmo.o \
$(top_builddir)/src/osmo-bsc/acc.o \
$(top_builddir)/src/osmo-bsc/bts.o \
$(top_builddir)/src/osmo-bsc/bts_sm.o \
diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am
index f91c6bf..df4e0c3 100644
--- a/src/osmo-bsc/Makefile.am
+++ b/src/osmo-bsc/Makefile.am
@@ -31,6 +31,7 @@
abis_nm_vty.c \
abis_om2000.c \
abis_om2000_vty.c \
+ abis_osmo.c \
abis_rsl.c \
acc.c \
assignment_fsm.c \
diff --git a/src/osmo-bsc/abis_osmo.c b/src/osmo-bsc/abis_osmo.c
new file mode 100644
index 0000000..7745ac5
--- /dev/null
+++ b/src/osmo-bsc/abis_osmo.c
@@ -0,0 +1,119 @@
+/* Osmocom specific protocols over Abis (IPA) */
+
+/* (C) 2021 sysmocom - s.f.m.c. GmbH <info at sysmocom.de>
+ * Author: Pau Espin Pedrol <pespin at sysmocom.de>
+ * All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include <errno.h>
+#include <osmocom/core/logging.h>
+
+#include <osmocom/core/msgb.h>
+
+#include <osmocom/gsm/protocol/ipaccess.h>
+#include <osmocom/gsm/ipa.h>
+#include <osmocom/gsm/protocol/gsm_12_21.h>
+#include <osmocom/gsm/protocol/osmo_pcu.h>
+
+#include <osmocom/bsc/abis_osmo.h>
+#include <osmocom/bsc/debug.h>
+#include <osmocom/bsc/bts.h>
+#include <osmocom/bsc/pcuif_proto.h>
+
+
+#define OM_ALLOC_SIZE 1024
+#define OM_HEADROOM_SIZE 128
+#define IPACC_SEGMENT_SIZE 245
+
+////////////////////////////////////////
+// OSMO ABIS extensions (PCU)
+///////////////////////////////////////
+static struct msgb *abis_osmo_pcu_msgb_alloc(uint8_t msg_type, uint8_t bts_nr)
+{
+ struct msgb *msg;
+ struct gsm_pcu_if *pcu_prim;
+ msg = msgb_alloc_headroom(sizeof(struct gsm_pcu_if) + OM_HEADROOM_SIZE,
+ OM_HEADROOM_SIZE, "IPA/ABIS/OSMO");
+ msgb_put(msg, sizeof(struct gsm_pcu_if));
+ pcu_prim = (struct gsm_pcu_if *) msg->data;
+ pcu_prim->msg_type = msg_type;
+ pcu_prim->bts_nr = bts_nr;
+ return msg;
+}
+
+/* Send a OML NM Message from BSC to BTS */
+static int abis_osmo_pcu_sendmsg(struct gsm_bts *bts, struct msgb *msg)
+{
+ ipa_prepend_header_ext(msg, IPAC_PROTO_EXT_PCU);
+ return abis_osmo_sendmsg(bts, msg);
+}
+
+int abis_osmo_pcu_measure_neighbours_req(struct gsm_bts *bts, const struct gsm48_cell_desc *cell_desc_li, unsigned int num_cells)
+{
+ struct msgb *msg = abis_osmo_pcu_msgb_alloc(PCU_IF_MSG_ANR_REQ, 0);
+ struct gsm_pcu_if *pcu_prim = (struct gsm_pcu_if *) msgb_data(msg);
+ struct gsm_pcu_if_anr_req *anr_req = &pcu_prim->u.anr_req;
+
+ anr_req->num_cells = num_cells;
+ if (num_cells)
+ memcpy(anr_req->cell_list, cell_desc_li, sizeof(*cell_desc_li) * num_cells);
+
+ return abis_osmo_pcu_sendmsg(bts, msg);
+}
+
+static int rcvmsg_pcu(struct msgb *msg)
+{
+ return 0;
+}
+
+////////////////////////////////////////
+// OSMO ABIS extensions (generic code)
+///////////////////////////////////////
+
+/* High-Level API */
+/* Entry-point where L2 OSMO from BTS enters the NM code */
+int abis_osmo_rcvmsg(struct msgb *msg)
+{
+ int rc;
+ uint8_t *osmo_type = msgb_l2(msg);
+ msg->l2h = osmo_type + 1;
+
+ switch (*osmo_type) {
+ case IPAC_PROTO_EXT_PCU:
+ rc = rcvmsg_pcu(msg);
+ break;
+ default:
+ LOGP(DNM, LOGL_ERROR, "IPAC_PROTO_EXT 0x%x not supported!\n",
+ *osmo_type);
+ rc = -EINVAL;
+ }
+
+ msgb_free(msg);
+ return rc;
+}
+
+
+/* Send a OML NM Message from BSC to BTS */
+int abis_osmo_sendmsg(struct gsm_bts *bts, struct msgb *msg)
+{
+ msg->dst = bts->osmo_link;
+
+ msg->l2h = msg->data;
+
+ return abis_sendmsg(msg);
+
+}
diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c
index 24596f4..55a507b 100644
--- a/src/osmo-bsc/bsc_init.c
+++ b/src/osmo-bsc/bsc_init.c
@@ -97,6 +97,32 @@
osmo_timer_schedule(&net->bts_store_uptime_timer, BTS_STORE_UPTIME_INTERVAL, 0);
}
+static void bsc_anr_request(void *data)
+{
+ struct gsm_network *net = data;
+ struct gsm_bts *bts;
+ struct gsm48_cell_desc cell_desc[256];
+ unsigned int num_cells = 0;
+
+ /* Build list of ARFCN+BSIC: */
+ llist_for_each_entry(bts, &net->bts_list, list) {
+ if (num_cells == ARRAY_SIZE(cell_desc)) {
+ LOGP(DNM, LOGL_ERROR,
+ "ANR Req: Unable to build list larger than %zu elements",
+ ARRAY_SIZE(cell_desc));
+ break;
+ }
+ gsm48_cell_desc(&cell_desc[num_cells], bts);
+ num_cells++;
+ }
+
+ llist_for_each_entry(bts, &net->bts_list, list)
+ bts_anr_request(bts, cell_desc, num_cells);
+
+ /* Keep this timer ticking. */
+ osmo_timer_schedule(&net->anr_request_timer, ANR_REQUEST_INTERVAL, 0);
+}
+
static struct gsm_network *bsc_network_init(void *ctx)
{
struct gsm_network *net = gsm_network_init(ctx);
@@ -144,6 +170,10 @@
osmo_timer_setup(&net->bts_store_uptime_timer, bsc_store_bts_uptime, net);
osmo_timer_schedule(&net->bts_store_uptime_timer, BTS_STORE_UPTIME_INTERVAL, 0);
+ /* Init uptime tracking timer. */
+ osmo_timer_setup(&net->anr_request_timer, bsc_anr_request, net);
+ osmo_timer_schedule(&net->anr_request_timer, ANR_REQUEST_INTERVAL, 0);
+
net->cbc->net = net;
net->cbc->mode = BSC_CBC_LINK_MODE_DISABLED;
net->cbc->server.local_addr = bsc_cbc_default_server_local_addr;
diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c
index 857ddd2..87cfb9a 100644
--- a/src/osmo-bsc/bts.c
+++ b/src/osmo-bsc/bts.c
@@ -24,6 +24,7 @@
#include <osmocom/bsc/bts.h>
#include <osmocom/bsc/debug.h>
#include <osmocom/bsc/nm_common_fsm.h>
+#include <osmocom/bsc/abis_osmo.h>
const struct value_string bts_attribute_names[] = {
OSMO_VALUE_STRING(BTS_TYPE_VARIANT),
@@ -579,6 +580,20 @@
return difftime(tp.tv_sec, bts->uptime);
}
+int bts_anr_request(struct gsm_bts *bts, const struct gsm48_cell_desc *cell_desc_li, unsigned int num_cells)
+{
+ if (!bts->osmo_link) {
+ LOGP(DNM, LOGL_INFO, "BTS%u: ANR Req: OSMO link is down\n", bts->nr);
+ return 0;
+ }
+ if (!osmo_bts_has_feature(&bts->features, BTS_FEAT_ABIS_OSMO_PCU)) {
+ LOGP(DNM, LOGL_INFO, "BTS%u: ANR Req: Abis OSMO_PCU proto not supported\n", bts->nr);
+ return 0;
+ }
+ LOGP(DNM, LOGL_INFO, "BTS%u: ANR Req (%u cells)\n", bts->nr, num_cells);
+ return abis_osmo_pcu_measure_neighbours_req(bts, cell_desc_li, num_cells);
+}
+
char *get_model_oml_status(const struct gsm_bts *bts)
{
if (bts->model->oml_status)
diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c
index 1e3e9c1..db91b01 100644
--- a/src/osmo-bsc/bts_ipaccess_nanobts.c
+++ b/src/osmo-bsc/bts_ipaccess_nanobts.c
@@ -37,6 +37,7 @@
#include <osmocom/bsc/gsm_data.h>
#include <osmocom/bsc/abis_nm.h>
#include <osmocom/bsc/abis_rsl.h>
+#include <osmocom/bsc/abis_osmo.h>
#include <osmocom/bsc/debug.h>
#include <osmocom/abis/subchan_demux.h>
#include <osmocom/gsm/ipa.h>
@@ -557,6 +558,10 @@
bts->uptime = 0;
osmo_stat_item_dec(bts->bts_statg->items[BTS_STAT_OML_CONNECTED], 1);
+ /* Also drop the associated OSMO link */
+ e1inp_sign_link_destroy(bts->osmo_link);
+ bts->osmo_link = NULL;
+
/* we have issues reconnecting RSL, drop everything. */
llist_for_each_entry(trx, &bts->trx_list, list) {
ipaccess_drop_rsl(trx, "OML link drop");
@@ -713,6 +718,10 @@
sign_link->trx->bts->ip_access.flags |= OML_UP;
}
osmo_stat_item_inc(bts->bts_statg->items[BTS_STAT_OML_CONNECTED], 1);
+
+ /* Create link for E1INP_SIGN_OSMO */
+ //SAPI must be 0, no IPAC_PROTO_EXT_PCU, see ipaccess_bts_read_cb
+ bts->osmo_link = e1inp_sign_link_create(sign_ts, E1INP_SIGN_OSMO, bts->c0, IPAC_PROTO_OSMO, 0);
break;
case E1INP_SIGN_RSL: {
struct e1inp_ts *ts;
@@ -785,6 +794,9 @@
case E1INP_SIGN_OML:
ret = abis_nm_rcvmsg(msg);
break;
+ case E1INP_SIGN_OSMO:
+ ret = abis_osmo_rcvmsg(msg);
+ break;
default:
LOGP(DLINP, LOGL_ERROR, "Unknown signal link type %d\n",
link->type);
diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c
index 058a107..be1eadc 100644
--- a/src/osmo-bsc/gsm_04_08_rr.c
+++ b/src/osmo-bsc/gsm_04_08_rr.c
@@ -387,7 +387,7 @@
return rsl_encryption_cmd(msg);
}
-static void gsm48_cell_desc(struct gsm48_cell_desc *cd,
+void gsm48_cell_desc(struct gsm48_cell_desc *cd,
const struct gsm_bts *bts)
{
cd->ncc = (bts->bsic >> 3 & 0x7);
diff --git a/src/utils/Makefile.am b/src/utils/Makefile.am
index c180390..39d2417 100644
--- a/src/utils/Makefile.am
+++ b/src/utils/Makefile.am
@@ -48,6 +48,7 @@
bs11_config_LDADD = \
$(top_builddir)/src/osmo-bsc/abis_nm.o \
+ $(top_builddir)/src/osmo-bsc/abis_osmo.o \
$(top_builddir)/src/osmo-bsc/acc.o \
$(top_builddir)/src/osmo-bsc/bts.o \
$(top_builddir)/src/osmo-bsc/bts_sm.o \
@@ -132,6 +133,7 @@
meas_json_LDADD = \
$(top_builddir)/src/osmo-bsc/abis_nm.o \
+ $(top_builddir)/src/osmo-bsc/abis_osmo.o \
$(top_builddir)/src/osmo-bsc/acc.o \
$(top_builddir)/src/osmo-bsc/bts.o \
$(top_builddir)/src/osmo-bsc/bts_sm.o \
diff --git a/tests/abis/Makefile.am b/tests/abis/Makefile.am
index cb327fb..0612827 100644
--- a/tests/abis/Makefile.am
+++ b/tests/abis/Makefile.am
@@ -26,6 +26,7 @@
abis_test_LDADD = \
$(top_builddir)/src/osmo-bsc/abis_nm.o \
+ $(top_builddir)/src/osmo-bsc/abis_osmo.o \
$(top_builddir)/src/osmo-bsc/acc.o \
$(top_builddir)/src/osmo-bsc/bts.o \
$(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \
diff --git a/tests/acc/Makefile.am b/tests/acc/Makefile.am
index 9351545..e0044d0 100644
--- a/tests/acc/Makefile.am
+++ b/tests/acc/Makefile.am
@@ -26,6 +26,7 @@
acc_test_LDADD = \
$(top_builddir)/src/osmo-bsc/abis_nm.o \
+ $(top_builddir)/src/osmo-bsc/abis_osmo.o \
$(top_builddir)/src/osmo-bsc/acc.o \
$(top_builddir)/src/osmo-bsc/bts.o \
$(top_builddir)/src/osmo-bsc/bts_sm.o \
diff --git a/tests/bsc/Makefile.am b/tests/bsc/Makefile.am
index d08ca18..a0bbb81 100644
--- a/tests/bsc/Makefile.am
+++ b/tests/bsc/Makefile.am
@@ -35,6 +35,7 @@
bsc_test_LDADD = \
$(top_builddir)/src/osmo-bsc/abis_nm.o \
+ $(top_builddir)/src/osmo-bsc/abis_osmo.o \
$(top_builddir)/src/osmo-bsc/acc.o \
$(top_builddir)/src/osmo-bsc/osmo_bsc_filter.o \
$(top_builddir)/src/osmo-bsc/bsc_subscriber.o \
diff --git a/tests/gsm0408/Makefile.am b/tests/gsm0408/Makefile.am
index 271a0fd..186dc39 100644
--- a/tests/gsm0408/Makefile.am
+++ b/tests/gsm0408/Makefile.am
@@ -25,6 +25,7 @@
gsm0408_test_LDADD = \
$(top_builddir)/src/osmo-bsc/abis_nm.o \
+ $(top_builddir)/src/osmo-bsc/abis_osmo.o \
$(top_builddir)/src/osmo-bsc/acc.o \
$(top_builddir)/src/osmo-bsc/gsm_04_08_rr.o \
$(top_builddir)/src/osmo-bsc/bts.o \
diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am
index f0b2e7a..65eb6a8 100644
--- a/tests/handover/Makefile.am
+++ b/tests/handover/Makefile.am
@@ -45,6 +45,7 @@
$(top_builddir)/src/osmo-bsc/abis_nm_vty.o \
$(top_builddir)/src/osmo-bsc/abis_om2000.o \
$(top_builddir)/src/osmo-bsc/abis_om2000_vty.o \
+ $(top_builddir)/src/osmo-bsc/abis_osmo.o \
$(top_builddir)/src/osmo-bsc/abis_rsl.o \
$(top_builddir)/src/osmo-bsc/acc.o \
$(top_builddir)/src/osmo-bsc/assignment_fsm.o \
diff --git a/tests/nanobts_omlattr/Makefile.am b/tests/nanobts_omlattr/Makefile.am
index f2afa2b..e31b8e9 100644
--- a/tests/nanobts_omlattr/Makefile.am
+++ b/tests/nanobts_omlattr/Makefile.am
@@ -24,6 +24,7 @@
nanobts_omlattr_test_LDADD = \
$(top_builddir)/src/osmo-bsc/abis_nm.o \
+ $(top_builddir)/src/osmo-bsc/abis_osmo.o \
$(top_builddir)/src/osmo-bsc/acc.o \
$(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \
$(top_builddir)/src/osmo-bsc/bts.o \
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24550
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I21beb4e5c101157cd0977fd9a607c2fe5350befe
Gerrit-Change-Number: 24550
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210604/2405d651/attachment.htm>