<p>laforge has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/libosmo-sccp/+/16099">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">osmo_ss7: Add osmo_ss7_asp_find()<br><br>This is like osmo_ss7_asp_find_and_create(), i.e. it's doing a full<br>match for an ASP within the specified SS7 instance, of the specified<br>port numbers.  It just doesn't create it if it is missing.<br><br>Change-Id: I1ed3cf2b69ee622d6f9d8b50487f392fe913ae90<br>Related: OS#4271<br>---<br>M include/osmocom/sigtran/osmo_ss7.h<br>M src/osmo_ss7.c<br>2 files changed, 22 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/99/16099/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h</span><br><span>index 6778409..de9494b 100644</span><br><span>--- a/include/osmocom/sigtran/osmo_ss7.h</span><br><span>+++ b/include/osmocom/sigtran/osmo_ss7.h</span><br><span>@@ -436,6 +436,10 @@</span><br><span> *osmo_ss7_asp_find_by_proto(struct osmo_ss7_as *as,</span><br><span>                       enum osmo_ss7_asp_protocol proto);</span><br><span> struct osmo_ss7_asp *</span><br><span style="color: hsl(120, 100%, 40%);">+osmo_ss7_asp_find(struct osmo_ss7_instance *inst, const char *name,</span><br><span style="color: hsl(120, 100%, 40%);">+            uint16_t remote_port, uint16_t local_port,</span><br><span style="color: hsl(120, 100%, 40%);">+            enum osmo_ss7_asp_protocol proto);</span><br><span style="color: hsl(120, 100%, 40%);">+struct osmo_ss7_asp *</span><br><span> osmo_ss7_asp_find_or_create(struct osmo_ss7_instance *inst, const char *name,</span><br><span>                             uint16_t remote_port, uint16_t local_port,</span><br><span>                           enum osmo_ss7_asp_protocol proto);</span><br><span>diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c</span><br><span>index d74f8f9..a07fbed 100644</span><br><span>--- a/src/osmo_ss7.c</span><br><span>+++ b/src/osmo_ss7.c</span><br><span>@@ -1226,6 +1226,24 @@</span><br><span> }</span><br><span> </span><br><span> struct osmo_ss7_asp *</span><br><span style="color: hsl(120, 100%, 40%);">+osmo_ss7_asp_find(struct osmo_ss7_instance *inst, const char *name,</span><br><span style="color: hsl(120, 100%, 40%);">+             uint16_t remote_port, uint16_t local_port,</span><br><span style="color: hsl(120, 100%, 40%);">+            enum osmo_ss7_asp_protocol proto)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+        struct osmo_ss7_asp *asp;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   OSMO_ASSERT(ss7_initialized);</span><br><span style="color: hsl(120, 100%, 40%);">+ asp = osmo_ss7_asp_find_by_name(inst, name);</span><br><span style="color: hsl(120, 100%, 40%);">+  if (!asp)</span><br><span style="color: hsl(120, 100%, 40%);">+             return NULL;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        if ((asp->cfg.remote.port != remote_port || asp->cfg.local.port != local_port || asp->cfg.proto != proto))</span><br><span style="color: hsl(120, 100%, 40%);">+           return NULL;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        return asp;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+struct osmo_ss7_asp *</span><br><span> osmo_ss7_asp_find_or_create(struct osmo_ss7_instance *inst, const char *name,</span><br><span>                         uint16_t remote_port, uint16_t local_port,</span><br><span>                           enum osmo_ss7_asp_protocol proto)</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmo-sccp/+/16099">change 16099</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/libosmo-sccp/+/16099"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: libosmo-sccp </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I1ed3cf2b69ee622d6f9d8b50487f392fe913ae90 </div>
<div style="display:none"> Gerrit-Change-Number: 16099 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>