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