<p>pespin <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-sgsn/+/15579">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  laforge: Looks good to me, approved
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">sgsn_libgtp.c: Drop use of deprecated libgtp APIs gtp_retrans*()<br><br>Since osmo-ggsn.git c94837c6a401bf0f80791b619a9b4cfbe9160afd, those<br>APIs are a no-op since timers are tracked internally through osmocom<br>APIs (and at the same time, new implementation fixes some timing related<br>bugs).<br><br>As a result, osmo-sgsn depends now on at least that libgtp commit. Since<br>it's not yet avaiable on latest libgtp release, let's track it down in<br>TODO-RELESE to not forget to update libgtp requirements during osmo-sgsn<br>release.<br><br>Related: OS#4178<br>Change-Id: Ia9a93d4a6ed63cd0c736f9a99d81d730b958d82e<br>---<br>M TODO-RELEASE<br>M include/osmocom/sgsn/sgsn.h<br>M src/sgsn/sgsn_libgtp.c<br>3 files changed, 3 insertions(+), 28 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/TODO-RELEASE b/TODO-RELEASE</span><br><span>index 1c5d61f..ac6dcb2 100644</span><br><span>--- a/TODO-RELEASE</span><br><span>+++ b/TODO-RELEASE</span><br><span>@@ -1 +1,4 @@</span><br><span> #component  what            description / commit summary line</span><br><span style="color: hsl(120, 100%, 40%);">+osmo-sgsn    libgtp          We dropped libgtp gtp_retranstimeout timer code which became a</span><br><span style="color: hsl(120, 100%, 40%);">+                                no-op in osmo-ggsn.git c94837c6a401bf0f80791b619a9b4cfbe9160afd,</span><br><span style="color: hsl(120, 100%, 40%);">+                              which means next osmo-sgsn release will require libgtp > 1.4.0.</span><br><span>diff --git a/include/osmocom/sgsn/sgsn.h b/include/osmocom/sgsn/sgsn.h</span><br><span>index e1c5c4a..f5ff524 100644</span><br><span>--- a/include/osmocom/sgsn/sgsn.h</span><br><span>+++ b/include/osmocom/sgsn/sgsn.h</span><br><span>@@ -130,8 +130,6 @@</span><br><span>    struct osmo_fd gtp_fd0;</span><br><span>      struct osmo_fd gtp_fd1c;</span><br><span>     struct osmo_fd gtp_fd1u;</span><br><span style="color: hsl(0, 100%, 40%);">-        /* Timer for libGTP */</span><br><span style="color: hsl(0, 100%, 40%);">-  struct osmo_timer_list gtp_timer;</span><br><span>    /* GSN instance for libgtp */</span><br><span>        struct gsn_t *gsn;</span><br><span>   /* Subscriber */</span><br><span>diff --git a/src/sgsn/sgsn_libgtp.c b/src/sgsn/sgsn_libgtp.c</span><br><span>index c45431a..c20c8dc 100644</span><br><span>--- a/src/sgsn/sgsn_libgtp.c</span><br><span>+++ b/src/sgsn/sgsn_libgtp.c</span><br><span>@@ -753,28 +753,6 @@</span><br><span>         return rc;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static void sgsn_gtp_tmr_start(struct sgsn_instance *sgi)</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-   struct timeval next;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-    /* Retrieve next retransmission as struct timeval */</span><br><span style="color: hsl(0, 100%, 40%);">-    gtp_retranstimeout(sgi->gsn, &next);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-     /* re-schedule the timer */</span><br><span style="color: hsl(0, 100%, 40%);">-     osmo_timer_schedule(&sgi->gtp_timer, next.tv_sec, next.tv_usec/1000);</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%);">-/* timer callback for libgtp retransmissions and ping */</span><br><span style="color: hsl(0, 100%, 40%);">-static void sgsn_gtp_tmr_cb(void *data)</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-   struct sgsn_instance *sgi = data;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-       /* Do all the retransmissions as needed */</span><br><span style="color: hsl(0, 100%, 40%);">-      gtp_retrans(sgi->gsn);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-       sgsn_gtp_tmr_start(sgi);</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> int sgsn_gtp_init(struct sgsn_instance *sgi)</span><br><span> {</span><br><span>       int rc;</span><br><span>@@ -825,10 +803,6 @@</span><br><span>               return rc;</span><br><span>   }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   /* Start GTP re-transmission timer */</span><br><span style="color: hsl(0, 100%, 40%);">-   osmo_timer_setup(&sgi->gtp_timer, sgsn_gtp_tmr_cb, sgi);</span><br><span style="color: hsl(0, 100%, 40%);">- sgsn_gtp_tmr_start(sgi);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>     /* Register callbackcs with libgtp */</span><br><span>        gtp_set_cb_delete_context(gsn, cb_delete_context);</span><br><span>   gtp_set_cb_conf(gsn, cb_conf);</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-sgsn/+/15579">change 15579</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-sgsn/+/15579"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-sgsn </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ia9a93d4a6ed63cd0c736f9a99d81d730b958d82e </div>
<div style="display:none"> Gerrit-Change-Number: 15579 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@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>