<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-bsc/+/20978">View Change</a></p><div style="white-space:pre-wrap">Approvals:
Jenkins Builder: Verified
pespin: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">minor code dup: smlc_set_cs7_instance()<br><br>Change-Id: I140bbe9922d3c13ee48ca75171097768bb3e8ac5<br>---<br>M src/osmo-bsc/lb.c<br>1 file changed, 25 insertions(+), 20 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo-bsc/lb.c b/src/osmo-bsc/lb.c</span><br><span>index 654f261..be7d446 100644</span><br><span>--- a/src/osmo-bsc/lb.c</span><br><span>+++ b/src/osmo-bsc/lb.c</span><br><span>@@ -587,6 +587,28 @@</span><br><span> addr->ssn = want_ssn;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* Prevent mixing addresses from different CS7 instances */</span><br><span style="color: hsl(120, 100%, 40%);">+bool smlc_set_cs7_instance(struct vty *vty, const char *from_vty_cmd, const char *from_addr,</span><br><span style="color: hsl(120, 100%, 40%);">+ struct osmo_ss7_instance *ss7)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+ if (bsc_gsmnet->smlc->cs7_instance_valid) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (bsc_gsmnet->smlc->cs7_instance != ss7->cfg.id) {</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGP(DLCS, LOGL_ERROR,</span><br><span style="color: hsl(120, 100%, 40%);">+ "%s: expecting address from cs7 instance %u, but '%s' is from %u\n",</span><br><span style="color: hsl(120, 100%, 40%);">+ from_vty_cmd, bsc_gsmnet->smlc->cs7_instance, from_addr, ss7->cfg.id);</span><br><span style="color: hsl(120, 100%, 40%);">+ vty_out(vty, "Error:"</span><br><span style="color: hsl(120, 100%, 40%);">+ " %s: expecting address from cs7 instance %u, but '%s' is from %u%s",</span><br><span style="color: hsl(120, 100%, 40%);">+ from_vty_cmd, bsc_gsmnet->smlc->cs7_instance, from_addr, ss7->cfg.id, VTY_NEWLINE);</span><br><span style="color: hsl(120, 100%, 40%);">+ return false;</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ } else {</span><br><span style="color: hsl(120, 100%, 40%);">+ bsc_gsmnet->smlc->cs7_instance = ss7->cfg.id;</span><br><span style="color: hsl(120, 100%, 40%);">+ bsc_gsmnet->smlc->cs7_instance_valid = true;</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGP(DLCS, LOGL_NOTICE, "Lb interface is using cs7 instance %u\n", bsc_gsmnet->smlc->cs7_instance);</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ return true;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> DEFUN(cfg_smlc_cs7_bsc_addr,</span><br><span> cfg_smlc_cs7_bsc_addr_cmd,</span><br><span> "bsc-addr NAME",</span><br><span>@@ -601,17 +623,9 @@</span><br><span> return CMD_ERR_INCOMPLETE;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- /* Prevent mixing addresses from different CS7 instances */</span><br><span style="color: hsl(0, 100%, 40%);">- if (bsc_gsmnet->smlc->cs7_instance_valid</span><br><span style="color: hsl(0, 100%, 40%);">- && bsc_gsmnet->smlc->cs7_instance != ss7->cfg.id) {</span><br><span style="color: hsl(0, 100%, 40%);">- vty_out(vty,</span><br><span style="color: hsl(0, 100%, 40%);">- "Error: SCCP addressbook entry from mismatching CS7 instance: '%s'%s",</span><br><span style="color: hsl(0, 100%, 40%);">- bsc_addr_name, VTY_NEWLINE);</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!smlc_set_cs7_instance(vty, "smlc / bsc-addr", bsc_addr_name, ss7))</span><br><span> return CMD_WARNING;</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- bsc_gsmnet->smlc->cs7_instance = ss7->cfg.id;</span><br><span style="color: hsl(0, 100%, 40%);">- bsc_gsmnet->smlc->cs7_instance_valid = true;</span><br><span> enforce_ssn(vty, &bsc_gsmnet->smlc->bsc_addr, OSMO_SCCP_SSN_BSC_BSSAP_LE);</span><br><span> bsc_gsmnet->smlc->bsc_addr_name = talloc_strdup(bsc_gsmnet, bsc_addr_name);</span><br><span> return CMD_SUCCESS;</span><br><span>@@ -631,18 +645,9 @@</span><br><span> return CMD_ERR_INCOMPLETE;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- /* Prevent mixing addresses from different CS7/SS7 instances */</span><br><span style="color: hsl(0, 100%, 40%);">- if (bsc_gsmnet->smlc->cs7_instance_valid) {</span><br><span style="color: hsl(0, 100%, 40%);">- if (bsc_gsmnet->smlc->cs7_instance != ss7->cfg.id) {</span><br><span style="color: hsl(0, 100%, 40%);">- vty_out(vty,</span><br><span style="color: hsl(0, 100%, 40%);">- "Error: SCCP addressbook entry from mismatching CS7 instance: '%s'%s",</span><br><span style="color: hsl(0, 100%, 40%);">- smlc_addr_name, VTY_NEWLINE);</span><br><span style="color: hsl(0, 100%, 40%);">- return CMD_ERR_INCOMPLETE;</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!smlc_set_cs7_instance(vty, "smlc / smlc-addr", smlc_addr_name, ss7))</span><br><span style="color: hsl(120, 100%, 40%);">+ return CMD_WARNING;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- bsc_gsmnet->smlc->cs7_instance = ss7->cfg.id;</span><br><span style="color: hsl(0, 100%, 40%);">- bsc_gsmnet->smlc->cs7_instance_valid = true;</span><br><span> enforce_ssn(vty, &bsc_gsmnet->smlc->smlc_addr, OSMO_SCCP_SSN_SMLC_BSSAP_LE);</span><br><span> bsc_gsmnet->smlc->smlc_addr_name = talloc_strdup(bsc_gsmnet, smlc_addr_name);</span><br><span> return CMD_SUCCESS;</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bsc/+/20978">change 20978</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/+/20978"/><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: I140bbe9922d3c13ee48ca75171097768bb3e8ac5 </div>
<div style="display:none"> Gerrit-Change-Number: 20978 </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-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>