<p>neels has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-bsc/+/20671">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">drop features 'core-location-area-code' and 'core-cell-identity'<br><br>This feature apparently assigned a fixed LAC and CI to a specific MSC, but<br>looking at the implementation was obviously not useful.<br><br>Keep the vty commands for legacy compat, now without effect besides logging an<br>error via vty_out().<br><br>Related: OS#4751<br>Change-Id: I6bee704e7e5d5b6b86473323bae1fa9fce9241ee<br>---<br>M include/osmocom/bsc/bsc_msc_data.h<br>M src/osmo-bsc/bsc_vty.c<br>M src/osmo-bsc/osmo_bsc_filter.c<br>M src/osmo-bsc/osmo_bsc_msc.c<br>4 files changed, 13 insertions(+), 54 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/71/20671/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h</span><br><span>index 5699b77..38e0d93 100644</span><br><span>--- a/include/osmocom/bsc/bsc_msc_data.h</span><br><span>+++ b/include/osmocom/bsc/bsc_msc_data.h</span><br><span>@@ -128,8 +128,6 @@</span><br><span> </span><br><span> /* Connection data */</span><br><span> struct osmo_plmn_id core_plmn;</span><br><span style="color: hsl(0, 100%, 40%);">- int core_lac;</span><br><span style="color: hsl(0, 100%, 40%);">- int core_ci;</span><br><span> </span><br><span> /* audio codecs */</span><br><span> struct gsm48_multi_rate_conf amr_conf;</span><br><span>diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c</span><br><span>index f4baefb..c6a95f5 100644</span><br><span>--- a/src/osmo-bsc/bsc_vty.c</span><br><span>+++ b/src/osmo-bsc/bsc_vty.c</span><br><span>@@ -5976,12 +5976,6 @@</span><br><span> if (msc->core_plmn.mcc != GSM_MCC_MNC_INVALID)</span><br><span> vty_out(vty, " core-mobile-country-code %s%s",</span><br><span> osmo_mcc_name(msc->core_plmn.mcc), VTY_NEWLINE);</span><br><span style="color: hsl(0, 100%, 40%);">- if (msc->core_lac != -1)</span><br><span style="color: hsl(0, 100%, 40%);">- vty_out(vty, " core-location-area-code %d%s",</span><br><span style="color: hsl(0, 100%, 40%);">- msc->core_lac, VTY_NEWLINE);</span><br><span style="color: hsl(0, 100%, 40%);">- if (msc->core_ci != -1)</span><br><span style="color: hsl(0, 100%, 40%);">- vty_out(vty, " core-cell-identity %d%s",</span><br><span style="color: hsl(0, 100%, 40%);">- msc->core_ci, VTY_NEWLINE);</span><br><span> </span><br><span> if (msc->audio_length != 0) {</span><br><span> int i;</span><br><span>@@ -6105,25 +6099,21 @@</span><br><span> return CMD_SUCCESS;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-DEFUN_ATTR(cfg_net_bsc_lac,</span><br><span style="color: hsl(0, 100%, 40%);">- cfg_net_bsc_lac_cmd,</span><br><span style="color: hsl(0, 100%, 40%);">- "core-location-area-code <0-65535>",</span><br><span style="color: hsl(0, 100%, 40%);">- "Use this location area code for the core network\n" "LAC value\n",</span><br><span style="color: hsl(0, 100%, 40%);">- CMD_ATTR_IMMEDIATE)</span><br><span style="color: hsl(120, 100%, 40%);">+DEFUN_DEPRECATED(cfg_net_bsc_lac,</span><br><span style="color: hsl(120, 100%, 40%);">+ cfg_net_bsc_lac_cmd,</span><br><span style="color: hsl(120, 100%, 40%);">+ "core-location-area-code <0-65535>",</span><br><span style="color: hsl(120, 100%, 40%);">+ "Legacy configuration that no longer has any effect\n-\n")</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- struct bsc_msc_data *data = bsc_msc_data(vty);</span><br><span style="color: hsl(0, 100%, 40%);">- data->core_lac = atoi(argv[0]);</span><br><span style="color: hsl(120, 100%, 40%);">+ vty_out(vty, "%% Deprecated 'core-location-area-code' config no longer has any effect%s", VTY_NEWLINE);</span><br><span> return CMD_SUCCESS;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-DEFUN_ATTR(cfg_net_bsc_ci,</span><br><span style="color: hsl(0, 100%, 40%);">- cfg_net_bsc_ci_cmd,</span><br><span style="color: hsl(0, 100%, 40%);">- "core-cell-identity <0-65535>",</span><br><span style="color: hsl(0, 100%, 40%);">- "Use this cell identity for the core network\n" "CI value\n",</span><br><span style="color: hsl(0, 100%, 40%);">- CMD_ATTR_IMMEDIATE)</span><br><span style="color: hsl(120, 100%, 40%);">+DEFUN_DEPRECATED(cfg_net_bsc_ci,</span><br><span style="color: hsl(120, 100%, 40%);">+ cfg_net_bsc_ci_cmd,</span><br><span style="color: hsl(120, 100%, 40%);">+ "core-cell-identity <0-65535>",</span><br><span style="color: hsl(120, 100%, 40%);">+ "Legacy configuration that no longer has any effect\n-\n")</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- struct bsc_msc_data *data = bsc_msc_data(vty);</span><br><span style="color: hsl(0, 100%, 40%);">- data->core_ci = atoi(argv[0]);</span><br><span style="color: hsl(120, 100%, 40%);">+ vty_out(vty, "%% Deprecated 'core-cell-identity' config no longer has any effect%s", VTY_NEWLINE);</span><br><span> return CMD_SUCCESS;</span><br><span> }</span><br><span> </span><br><span>diff --git a/src/osmo-bsc/osmo_bsc_filter.c b/src/osmo-bsc/osmo_bsc_filter.c</span><br><span>index f664231..497b3e4 100644</span><br><span>--- a/src/osmo-bsc/osmo_bsc_filter.c</span><br><span>+++ b/src/osmo-bsc/osmo_bsc_filter.c</span><br><span>@@ -92,26 +92,11 @@</span><br><span> return 0;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static int has_core_identity(struct bsc_msc_data *msc)</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">- if (msc->core_plmn.mnc != GSM_MCC_MNC_INVALID)</span><br><span style="color: hsl(0, 100%, 40%);">- return 1;</span><br><span style="color: hsl(0, 100%, 40%);">- if (msc->core_plmn.mcc != GSM_MCC_MNC_INVALID)</span><br><span style="color: hsl(0, 100%, 40%);">- return 1;</span><br><span style="color: hsl(0, 100%, 40%);">- if (msc->core_lac != -1)</span><br><span style="color: hsl(0, 100%, 40%);">- return 1;</span><br><span style="color: hsl(0, 100%, 40%);">- if (msc->core_ci != -1)</span><br><span style="color: hsl(0, 100%, 40%);">- return 1;</span><br><span style="color: hsl(0, 100%, 40%);">- return 0;</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> /**</span><br><span> * Messages coming back from the MSC.</span><br><span> */</span><br><span> int bsc_scan_msc_msg(struct gsm_subscriber_connection *conn, struct msgb *msg)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- struct bsc_msc_data *msc;</span><br><span style="color: hsl(0, 100%, 40%);">- struct gsm48_loc_area_id *lai;</span><br><span> struct gsm48_hdr *gh;</span><br><span> uint8_t pdisc;</span><br><span> uint8_t mtype;</span><br><span>@@ -130,19 +115,7 @@</span><br><span> return 0;</span><br><span> </span><br><span> mtype = gsm48_hdr_msg_type(gh);</span><br><span style="color: hsl(0, 100%, 40%);">- msc = conn->sccp.msc;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">- if (mtype == GSM48_MT_MM_LOC_UPD_ACCEPT) {</span><br><span style="color: hsl(0, 100%, 40%);">- struct gsm_bts *bts = conn_get_bts(conn);</span><br><span style="color: hsl(0, 100%, 40%);">- if (bts && has_core_identity(msc)) {</span><br><span style="color: hsl(0, 100%, 40%);">- if (msgb_l3len(msg) >= sizeof(*gh) + sizeof(*lai)) {</span><br><span style="color: hsl(0, 100%, 40%);">- /* overwrite LAI in the message */</span><br><span style="color: hsl(0, 100%, 40%);">- lai = (struct gsm48_loc_area_id *) &gh->data[0];</span><br><span style="color: hsl(0, 100%, 40%);">- gsm48_generate_lai2(lai, bts_lai(bts));</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(0, 100%, 40%);">- return 0;</span><br><span style="color: hsl(0, 100%, 40%);">- } else if (mtype == GSM48_MT_MM_INFO) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (mtype == GSM48_MT_MM_INFO) {</span><br><span> bsc_patch_mm_info(conn, &gh->data[0], length);</span><br><span> }</span><br><span> </span><br><span>diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c</span><br><span>index 583b6ff..772bea5 100644</span><br><span>--- a/src/osmo-bsc/osmo_bsc_msc.c</span><br><span>+++ b/src/osmo-bsc/osmo_bsc_msc.c</span><br><span>@@ -229,8 +229,6 @@</span><br><span> .mcc = GSM_MCC_MNC_INVALID,</span><br><span> .mnc = GSM_MCC_MNC_INVALID,</span><br><span> };</span><br><span style="color: hsl(0, 100%, 40%);">- msc_data->core_ci = -1;</span><br><span style="color: hsl(0, 100%, 40%);">- msc_data->core_lac = -1;</span><br><span> </span><br><span> msc_data->nr = nr;</span><br><span> msc_data->allow_emerg = 1;</span><br><span>@@ -285,8 +283,8 @@</span><br><span> cgi.lai.plmn.mnc = msc->core_plmn.mnc;</span><br><span> cgi.lai.plmn.mnc_3_digits = msc->core_plmn.mnc_3_digits;</span><br><span> }</span><br><span style="color: hsl(0, 100%, 40%);">- cgi.lai.lac = (msc->core_lac != -1) ? msc->core_lac : bts->location_area_code;</span><br><span style="color: hsl(0, 100%, 40%);">- cgi.cell_identity = (msc->core_ci != -1) ? msc->core_ci : bts->cell_identity;</span><br><span style="color: hsl(120, 100%, 40%);">+ cgi.lai.lac = bts->location_area_code;</span><br><span style="color: hsl(120, 100%, 40%);">+ cgi.cell_identity = bts->cell_identity;</span><br><span> </span><br><span> return &cgi;</span><br><span> }</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bsc/+/20671">change 20671</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-bsc/+/20671"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: osmo-bsc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I6bee704e7e5d5b6b86473323bae1fa9fce9241ee </div>
<div style="display:none"> Gerrit-Change-Number: 20671 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>