Change in osmo-bsc[master]: flatten: move network->bsc_data->* to network->*

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/.

neels gerrit-no-reply at lists.osmocom.org
Fri May 29 20:16:45 UTC 2020


neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18500 )

Change subject: flatten: move network->bsc_data->* to network->*
......................................................................

flatten: move network->bsc_data->* to network->*

The separate struct osmo_bsc_data is like another separate struct gsm_network
for no reason. It is labeled "per-BSC data". These days, all of this is a
single BSC and there will not be different sets of osmo_bsc_data.

Drop struct osmo_bsc_data, move its members directly into gsm_network.

Some places tested 'if (net->bsc_data)', which is always true. Modify those
cases to rather do checks like 'if (net->rf_ctrl)', which are also always true
AFAICT, to keep as much unmodified logic as possible in this patch.

Change-Id: Ic7ae65e3b36e6e4b279eb01ad594f1226b5929e0
---
M include/osmocom/bsc/bsc_msc_data.h
M include/osmocom/bsc/gsm_data.h
M src/osmo-bsc/bsc_ctrl_commands.c
M src/osmo-bsc/bsc_init.c
M src/osmo-bsc/bsc_rf_ctrl.c
M src/osmo-bsc/bsc_vty.c
M src/osmo-bsc/cbsp_link.c
M src/osmo-bsc/gsm_08_08.c
M src/osmo-bsc/osmo_bsc_bssap.c
M src/osmo-bsc/osmo_bsc_ctrl.c
M src/osmo-bsc/osmo_bsc_grace.c
M src/osmo-bsc/osmo_bsc_main.c
M src/osmo-bsc/osmo_bsc_msc.c
M src/osmo-bsc/osmo_bsc_vty.c
14 files changed, 65 insertions(+), 104 deletions(-)

Approvals:
  laforge: Looks good to me, but someone else must approve
  pespin: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h
index 364fa72..43adaec 100644
--- a/include/osmocom/bsc/bsc_msc_data.h
+++ b/include/osmocom/bsc/bsc_msc_data.h
@@ -181,26 +181,6 @@
 	} mgcp_ipa;
 };
 
-/*
- * Per BSC data.
- */
-struct bsc_cbc_link;
-struct osmo_bsc_data {
-	struct gsm_network *network;
-
-	/* msc configuration */
-	struct llist_head mscs;
-
-	/* rf ctl related bits */
-	int mid_call_timeout;
-	char *rf_ctrl_name;
-	struct osmo_bsc_rf *rf_ctrl;
-	int auto_off_timeout;
-
-	struct bsc_cbc_link *cbc;
-};
-
-
 int osmo_bsc_msc_init(struct bsc_msc_data *msc);
 int osmo_bsc_sccp_init(struct gsm_network *gsmnet);
 
diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h
index d801d2c..42eb583 100644
--- a/include/osmocom/bsc/gsm_data.h
+++ b/include/osmocom/bsc/gsm_data.h
@@ -1649,8 +1649,16 @@
 	/* Use a TCH for handling requests of type paging any */
 	int pag_any_tch;
 
-	/* MSC data in case we are a true BSC */
-	struct osmo_bsc_data *bsc_data;
+	/* msc configuration */
+	struct llist_head mscs;
+
+	/* rf ctl related bits */
+	int mid_call_timeout;
+	char *rf_ctrl_name;
+	struct osmo_bsc_rf *rf_ctrl;
+	int auto_off_timeout;
+
+	struct bsc_cbc_link *cbc;
 
 	/* control interface */
 	struct ctrl_handle *ctrl;
diff --git a/src/osmo-bsc/bsc_ctrl_commands.c b/src/osmo-bsc/bsc_ctrl_commands.c
index ca182d7..774ded2 100644
--- a/src/osmo-bsc/bsc_ctrl_commands.c
+++ b/src/osmo-bsc/bsc_ctrl_commands.c
@@ -349,7 +349,7 @@
 	struct gsm_bts *bts;
 	const char *policy_name;
 
-	policy_name = osmo_bsc_rf_get_policy_name(net->bsc_data->rf_ctrl->policy);
+	policy_name = osmo_bsc_rf_get_policy_name(net->rf_ctrl->policy);
 
 	llist_for_each_entry(bts, &net->bts_list, list) {
 		struct gsm_bts_trx *trx;
@@ -389,7 +389,7 @@
 		return CTRL_CMD_ERROR;
 	}
 
-	rf = net->bsc_data->rf_ctrl;
+	rf = net->rf_ctrl;
 
 	if (!rf) {
 		cmd->reply = "RF Ctrl is not enabled in the BSC Configuration";
diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c
index d08e9c8..7f145ef 100644
--- a/src/osmo-bsc/bsc_init.c
+++ b/src/osmo-bsc/bsc_init.c
@@ -254,21 +254,15 @@
 {
 	struct gsm_network *net = gsm_network_init(ctx);
 
-	net->bsc_data = talloc_zero(net, struct osmo_bsc_data);
-	if (!net->bsc_data) {
-		talloc_free(net);
-		return NULL;
-	}
-	net->bsc_data->cbc = talloc_zero(net->bsc_data, struct bsc_cbc_link);
-	if (!net->bsc_data->cbc) {
+	net->cbc = talloc_zero(net, struct bsc_cbc_link);
+	if (!net->cbc) {
 		talloc_free(net);
 		return NULL;
 	}
 
 	/* Init back pointer */
-	net->bsc_data->auto_off_timeout = -1;
-	net->bsc_data->network = net;
-	INIT_LLIST_HEAD(&net->bsc_data->mscs);
+	net->auto_off_timeout = -1;
+	INIT_LLIST_HEAD(&net->mscs);
 
 	net->ho = ho_cfg_init(net, NULL);
 	net->hodec2.congestion_check_interval_s = HO_CFG_CONGESTION_CHECK_DEFAULT;
@@ -298,12 +292,12 @@
 	osmo_timer_setup(&net->t3122_chan_load_timer, update_t3122_chan_load_timer, net);
 	osmo_timer_schedule(&net->t3122_chan_load_timer, T3122_CHAN_LOAD_SAMPLE_INTERVAL, 0);
 
-	net->bsc_data->cbc->net = net;
+	net->cbc->net = net;
 	/* no cbc_hostname: client not started by default */
-	net->bsc_data->cbc->config.cbc_port = CBSP_TCP_PORT;
+	net->cbc->config.cbc_port = CBSP_TCP_PORT;
 	/* listen_port == -1: server not started by default */
-	net->bsc_data->cbc->config.listen_port = -1;
-	net->bsc_data->cbc->config.listen_hostname = talloc_strdup(net->bsc_data->cbc, "127.0.0.1");
+	net->cbc->config.listen_port = -1;
+	net->cbc->config.listen_hostname = talloc_strdup(net->cbc, "127.0.0.1");
 
 	return net;
 }
diff --git a/src/osmo-bsc/bsc_rf_ctrl.c b/src/osmo-bsc/bsc_rf_ctrl.c
index 73156e6..11cd224 100644
--- a/src/osmo-bsc/bsc_rf_ctrl.c
+++ b/src/osmo-bsc/bsc_rf_ctrl.c
@@ -106,12 +106,12 @@
 
 enum osmo_bsc_rf_policy osmo_bsc_rf_get_policy_by_bts(struct gsm_bts *bts)
 {
-	struct osmo_bsc_data *bsc_data = bts->network->bsc_data;
+	struct gsm_network *net = bts->network;
 
-	if (!bsc_data)
+	if (!net || !net->rf_ctrl)
 		return OSMO_BSC_RF_POLICY_UNKNOWN;
 
-	switch (bsc_data->rf_ctrl->policy) {
+	switch (net->rf_ctrl->policy) {
 	case S_RF_ON:
 		return OSMO_BSC_RF_POLICY_ON;
 	case S_RF_OFF:
@@ -267,9 +267,9 @@
 	}
 
 	osmo_timer_setup(&rf->grace_timeout, grace_timeout, rf);
-	osmo_timer_schedule(&rf->grace_timeout, rf->gsm_network->bsc_data->mid_call_timeout, 0);
+	osmo_timer_schedule(&rf->grace_timeout, rf->gsm_network->mid_call_timeout, 0);
 	LOGP(DLINP, LOGL_NOTICE, "Going to switch RF off in %d seconds.\n",
-	     rf->gsm_network->bsc_data->mid_call_timeout);
+	     rf->gsm_network->mid_call_timeout);
 
 	send_signal(rf, S_RF_GRACE);
 	return 0;
@@ -409,18 +409,18 @@
 	net = handler_data;
 
 	/* check if we have the needed information */
-	if (!net->bsc_data)
+	if (!net)
 		return 0;
 
-	rf = net->bsc_data->rf_ctrl;
+	rf = net->rf_ctrl;
 	switch (signal) {
 	case S_MSC_LOST:
-		if (net->bsc_data->auto_off_timeout < 0)
+		if (net->auto_off_timeout < 0)
 			return 0;
 		if (osmo_timer_pending(&rf->auto_off_timer))
 			return 0;
 		osmo_timer_schedule(&rf->auto_off_timer,
-				net->bsc_data->auto_off_timeout, 0);
+				net->auto_off_timeout, 0);
 		break;
 	case S_MSC_CONNECTED:
 		osmo_timer_del(&rf->auto_off_timer);
diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c
index c380a30..80658ec 100644
--- a/src/osmo-bsc/bsc_vty.c
+++ b/src/osmo-bsc/bsc_vty.c
@@ -253,13 +253,13 @@
 	dump_pchan_load_vty(vty, "    ", &pl);
 
 	/* show rf */
-	if (net->bsc_data)
+	if (net->rf_ctrl)
 		vty_out(vty, "  Last RF Command: %s%s",
-			net->bsc_data->rf_ctrl->last_state_command,
+			net->rf_ctrl->last_state_command,
 			VTY_NEWLINE);
-	if (net->bsc_data)
+	if (net->rf_ctrl)
 		vty_out(vty, "  Last RF Lock Command: %s%s",
-			net->bsc_data->rf_ctrl->last_rf_lock_ctrl_command,
+			net->rf_ctrl->last_rf_lock_ctrl_command,
 			VTY_NEWLINE);
 }
 
diff --git a/src/osmo-bsc/cbsp_link.c b/src/osmo-bsc/cbsp_link.c
index 8840afa..91217ad 100644
--- a/src/osmo-bsc/cbsp_link.c
+++ b/src/osmo-bsc/cbsp_link.c
@@ -192,7 +192,7 @@
 
 int bsc_cbc_link_restart(void)
 {
-	struct bsc_cbc_link *cbc = bsc_gsmnet->bsc_data->cbc;
+	struct bsc_cbc_link *cbc = bsc_gsmnet->cbc;
 
 	/* shut down client, if no longer configured */
 	if (cbc->client.cli && !cbc->config.cbc_hostname) {
@@ -280,7 +280,7 @@
 
 static struct bsc_cbc_link *vty_cbc_data(struct vty *vty)
 {
-	return bsc_gsmnet->bsc_data->cbc;
+	return bsc_gsmnet->cbc;
 }
 
 /*********************************************************************************
diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c
index 9ccdb3b..7789d49 100644
--- a/src/osmo-bsc/gsm_08_08.c
+++ b/src/osmo-bsc/gsm_08_08.c
@@ -162,16 +162,14 @@
 static struct bsc_msc_data *bsc_find_msc(struct gsm_subscriber_connection *conn,
 				   struct msgb *msg)
 {
+	struct gsm_network *net = conn->network;
 	struct gsm48_hdr *gh;
 	int8_t pdisc;
 	uint8_t mtype;
-	struct osmo_bsc_data *bsc;
 	struct bsc_msc_data *msc, *pag_msc;
 	struct bsc_subscr *subscr;
 	int is_emerg = 0;
 
-	bsc = conn->network->bsc_data;
-
 	if (msgb_l3len(msg) < sizeof(*gh)) {
 		LOGP(DMSC, LOGL_ERROR, "There is no GSM48 header here.\n");
 		return NULL;
@@ -196,12 +194,12 @@
 		goto round_robin;
 
 round_robin:
-	llist_for_each_entry(msc, &bsc->mscs, entry) {
+	llist_for_each_entry(msc, &net->mscs, entry) {
 		if (is_emerg && !msc->allow_emerg)
 			continue;
 
 		/* force round robin by moving it to the end */
-		llist_move_tail(&msc->entry, &bsc->mscs);
+		llist_move_tail(&msc->entry, &net->mscs);
 		return msc;
 	}
 
@@ -218,7 +216,7 @@
 	pag_msc = paging_get_msc(conn_get_bts(conn), subscr);
 	bsc_subscr_put(subscr);
 
-	llist_for_each_entry(msc, &bsc->mscs, entry) {
+	llist_for_each_entry(msc, &net->mscs, entry) {
 		if (msc != pag_msc)
 			continue;
 
@@ -228,7 +226,7 @@
 		 */
 
 		/* force round robin by moving it to the end */
-		llist_move_tail(&msc->entry, &bsc->mscs);
+		llist_move_tail(&msc->entry, &net->mscs);
 		return msc;
 	}
 
@@ -242,7 +240,7 @@
 	 * know the MSC which is in charge. The only meaningful option we have
 	 * is to deliver the paging response to the first configured MSC
 	 * blindly. */
-	msc = llist_first_entry_or_null(&bsc->mscs, struct bsc_msc_data, entry);
+	msc = llist_first_entry_or_null(&net->mscs, struct bsc_msc_data, entry);
 	if (msc)
 		return msc;
 	LOGP(DMSC, LOGL_ERROR, "Unable to find any suitable MSC to deliver paging response!\n");
diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c
index e65d0cf..864d96d 100644
--- a/src/osmo-bsc/osmo_bsc_bssap.c
+++ b/src/osmo-bsc/osmo_bsc_bssap.c
@@ -137,7 +137,7 @@
 	subscr->lac = lac;
 	subscr->tmsi = tmsi;
 
-	ret = bsc_grace_paging_request(msc->network->bsc_data->rf_ctrl->policy, subscr, chan_needed, msc, bts);
+	ret = bsc_grace_paging_request(msc->network->rf_ctrl->policy, subscr, chan_needed, msc, bts);
 	if (ret == 0)
 		LOGP(DMSC, LOGL_INFO, "Paging request failed or repeated paging: BTS: %d IMSI: '%s' TMSI: '0x%x/%u' LAC: 0x%x\n",
 		     bts->nr, mi_string, tmsi, tmsi, lac);
diff --git a/src/osmo-bsc/osmo_bsc_ctrl.c b/src/osmo-bsc/osmo_bsc_ctrl.c
index eb82a7c..12b2f4d 100644
--- a/src/osmo-bsc/osmo_bsc_ctrl.c
+++ b/src/osmo-bsc/osmo_bsc_ctrl.c
@@ -348,7 +348,7 @@
 {
 	struct bsc_msc_data *msc;
 
-	llist_for_each_entry(msc, &bts->network->bsc_data->mscs, entry)
+	llist_for_each_entry(msc, &bts->network->mscs, entry)
 		generate_location_state_trap(bts, msc);
 }
 
@@ -651,7 +651,7 @@
 	struct bsc_msc_data *msc;
 
 	net = cmd->node;
-	llist_for_each_entry(msc, &net->bsc_data->mscs, entry) {
+	llist_for_each_entry(msc, &net->mscs, entry) {
 		struct ctrl_cmd *trap;
 
 		trap = ctrl_cmd_create(tall_bsc_ctx, CTRL_TYPE_TRAP);
diff --git a/src/osmo-bsc/osmo_bsc_grace.c b/src/osmo-bsc/osmo_bsc_grace.c
index 9ee84d4..56edee5 100644
--- a/src/osmo-bsc/osmo_bsc_grace.c
+++ b/src/osmo-bsc/osmo_bsc_grace.c
@@ -30,7 +30,7 @@
 {
 	if (bts->excl_from_rf_lock)
 		return 1;
-	return network->bsc_data->rf_ctrl->policy == S_RF_ON;
+	return network->rf_ctrl->policy == S_RF_ON;
 }
 
 
diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c
index 42d05b1..9ddbe35 100644
--- a/src/osmo-bsc/osmo_bsc_main.c
+++ b/src/osmo-bsc/osmo_bsc_main.c
@@ -651,10 +651,6 @@
 		talloc_report(tall_vty_ctx, stderr);
 		talloc_report_full(tall_bsc_ctx, stderr);
 		break;
-	case SIGUSR2:
-		if (!bsc_gsmnet->bsc_data)
-			return;
-		break;
 	default:
 		break;
 	}
@@ -797,7 +793,6 @@
 int main(int argc, char **argv)
 {
 	struct bsc_msc_data *msc;
-	struct osmo_bsc_data *data;
 	int rc;
 
 	tall_bsc_ctx = talloc_named_const(NULL, 1, "osmo-bsc");
@@ -880,17 +875,16 @@
 		exit(1);
 	}
 
-	data = bsc_gsmnet->bsc_data;
 	if (rf_ctrl)
-		osmo_talloc_replace_string(data, &data->rf_ctrl_name, rf_ctrl);
+		osmo_talloc_replace_string(bsc_gsmnet, &bsc_gsmnet->rf_ctrl_name, rf_ctrl);
 
-	data->rf_ctrl = osmo_bsc_rf_create(data->rf_ctrl_name, bsc_gsmnet);
-	if (!data->rf_ctrl) {
+	bsc_gsmnet->rf_ctrl = osmo_bsc_rf_create(bsc_gsmnet->rf_ctrl_name, bsc_gsmnet);
+	if (!bsc_gsmnet->rf_ctrl) {
 		fprintf(stderr, "Failed to create the RF service.\n");
 		exit(1);
 	}
 
-	rc = check_codec_pref(&bsc_gsmnet->bsc_data->mscs);
+	rc = check_codec_pref(&bsc_gsmnet->mscs);
 	if (rc < 0) {
 		LOGP(DMSC, LOGL_ERROR, "Configuration contains mutually exclusive codec settings -- check"
 				       " configuration!\n");
@@ -902,7 +896,7 @@
 		}
 	}
 
-	llist_for_each_entry(msc, &bsc_gsmnet->bsc_data->mscs, entry) {
+	llist_for_each_entry(msc, &bsc_gsmnet->mscs, entry) {
 		if (osmo_bsc_msc_init(msc) != 0) {
 			LOGP(DMSC, LOGL_ERROR, "Failed to start up. Exiting.\n");
 			exit(1);
@@ -918,7 +912,7 @@
 		exit(1);
 	}
 
-	if (osmo_bsc_sigtran_init(&bsc_gsmnet->bsc_data->mscs) != 0) {
+	if (osmo_bsc_sigtran_init(&bsc_gsmnet->mscs) != 0) {
 		LOGP(DNM, LOGL_ERROR, "Failed to initialize sigtran backhaul.\n");
 		exit(1);
 	}
diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c
index f766f75..30b54f3 100644
--- a/src/osmo-bsc/osmo_bsc_msc.c
+++ b/src/osmo-bsc/osmo_bsc_msc.c
@@ -150,7 +150,7 @@
 {
 	struct bsc_msc_data *msc_data;
 
-	llist_for_each_entry(msc_data, &net->bsc_data->mscs, entry)
+	llist_for_each_entry(msc_data, &net->mscs, entry)
 		if (msc_data->nr == nr)
 			return msc_data;
 	return NULL;
@@ -183,7 +183,7 @@
 		return NULL;
 	}
 
-	llist_add_tail(&msc_data->entry, &net->bsc_data->mscs);
+	llist_add_tail(&msc_data->entry, &net->mscs);
 
 	/* Init back pointer */
 	msc_data->network = net;
diff --git a/src/osmo-bsc/osmo_bsc_vty.c b/src/osmo-bsc/osmo_bsc_vty.c
index 51a660b..34a56de 100644
--- a/src/osmo-bsc/osmo_bsc_vty.c
+++ b/src/osmo-bsc/osmo_bsc_vty.c
@@ -35,11 +35,6 @@
 
 #include <time.h>
 
-static struct osmo_bsc_data *osmo_bsc_data(struct vty *vty)
-{
-	return bsc_gsmnet->bsc_data;
-}
-
 static struct bsc_msc_data *bsc_msc_data(struct vty *vty)
 {
 	return vty->index;
@@ -180,9 +175,8 @@
 static int config_write_msc(struct vty *vty)
 {
 	struct bsc_msc_data *msc;
-	struct osmo_bsc_data *bsc = osmo_bsc_data(vty);
 
-	llist_for_each_entry(msc, &bsc->mscs, entry)
+	llist_for_each_entry(msc, &bsc_gsmnet->mscs, entry)
 		write_msc(vty, msc);
 
 	return CMD_SUCCESS;
@@ -190,17 +184,15 @@
 
 static int config_write_bsc(struct vty *vty)
 {
-	struct osmo_bsc_data *bsc = osmo_bsc_data(vty);
-
 	vty_out(vty, "bsc%s", VTY_NEWLINE);
-	vty_out(vty, " mid-call-timeout %d%s", bsc->mid_call_timeout, VTY_NEWLINE);
-	if (bsc->rf_ctrl_name)
+	vty_out(vty, " mid-call-timeout %d%s", bsc_gsmnet->mid_call_timeout, VTY_NEWLINE);
+	if (bsc_gsmnet->rf_ctrl_name)
 		vty_out(vty, " bsc-rf-socket %s%s",
-			bsc->rf_ctrl_name, VTY_NEWLINE);
+			bsc_gsmnet->rf_ctrl_name, VTY_NEWLINE);
 
-	if (bsc->auto_off_timeout != -1)
+	if (bsc_gsmnet->auto_off_timeout != -1)
 		vty_out(vty, " bsc-auto-rf-off %d%s",
-			bsc->auto_off_timeout, VTY_NEWLINE);
+			bsc_gsmnet->auto_off_timeout, VTY_NEWLINE);
 
 	return CMD_SUCCESS;
 }
@@ -285,7 +277,7 @@
 
 	/* create a new array */
 	data->audio_support =
-		talloc_zero_array(osmo_bsc_data(vty), struct gsm_audio_support *, argc);
+		talloc_zero_array(bsc_gsmnet, struct gsm_audio_support *, argc);
 	data->audio_length = argc;
 
 	for (i = 0; i < argc; ++i) {
@@ -581,8 +573,7 @@
       "mid-call-timeout NR",
       "Switch from Grace to Off in NR seconds.\n" "Timeout in seconds\n")
 {
-	struct osmo_bsc_data *data = osmo_bsc_data(vty);
-	data->mid_call_timeout = atoi(argv[0]);
+	bsc_gsmnet->mid_call_timeout = atoi(argv[0]);
 	return CMD_SUCCESS;
 }
 
@@ -591,9 +582,7 @@
       "bsc-rf-socket PATH",
       "Set the filename for the RF control interface.\n" "RF Control path\n")
 {
-	struct osmo_bsc_data *data = osmo_bsc_data(vty);
-
-	osmo_talloc_replace_string(data, &data->rf_ctrl_name, argv[0]);
+	osmo_talloc_replace_string(bsc_gsmnet, &bsc_gsmnet->rf_ctrl_name, argv[0]);
 	return CMD_SUCCESS;
 }
 
@@ -602,8 +591,7 @@
       "bsc-auto-rf-off <1-65000>",
       "Disable RF on MSC Connection\n" "Timeout\n")
 {
-	struct osmo_bsc_data *data = osmo_bsc_data(vty);
-	data->auto_off_timeout = atoi(argv[0]);
+	bsc_gsmnet->auto_off_timeout = atoi(argv[0]);
 	return CMD_SUCCESS;
 }
 
@@ -612,8 +600,7 @@
       "no bsc-auto-rf-off",
       NO_STR "Disable RF on MSC Connection\n")
 {
-	struct osmo_bsc_data *data = osmo_bsc_data(vty);
-	data->auto_off_timeout = -1;
+	bsc_gsmnet->auto_off_timeout = -1;
 	return CMD_SUCCESS;
 }
 
@@ -632,7 +619,7 @@
       SHOW_STR "MSC Connections and State\n")
 {
 	struct bsc_msc_data *msc;
-	llist_for_each_entry(msc, &bsc_gsmnet->bsc_data->mscs, entry) {
+	llist_for_each_entry(msc, &bsc_gsmnet->mscs, entry) {
 		vty_out(vty, "%d %s %s ",
 			msc->a.cs7_instance,
 			osmo_ss7_asp_protocol_name(msc->a.asp_proto),

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18500
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Ic7ae65e3b36e6e4b279eb01ad594f1226b5929e0
Gerrit-Change-Number: 18500
Gerrit-PatchSet: 4
Gerrit-Owner: neels <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200529/ac09c15a/attachment.htm>


More information about the gerrit-log mailing list